DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[ スレッド内全2レス(親記事-2 表示) ] <<
0
>>
■35165
/ 親記事)
タブレット等でスワイプによるスクロールを実装
▼
■
□投稿者/ 炎の妖精さん
一般人(7回)-(2022/10/13(Thu) 10:06:36)
環境/言語:[Windows10(64bit)_VB.NET]
分類:[.NET]
お世話になっております。
表題の通り、スワイプでのスクロールを実装したいと考えております。
Windowsフォーム上に以下のコントロールを配置しました。
■FlowLayoutPanel(スクロールを表示してここでスクロールしたい)
└■UserControl(5*10のボタンが並べられている)
├■Button01
├■Button02
…
├■Button49
└■Button50
なぜこのような配置の仕方をしている理由ですが、
タブレットの解像度が1920*1280、ボタンや文字もなるべく大きめということもあり、
5*10のボタンを配置する場合にはタブレットの画面に入りきらない為、スクロールを実装することになりました。
DataGridViewでは自動でスワイプによるスクロールが出来るのですが、
上記のような配置の場合ではスクロールが出来ませんでした。
※もちろんマウスホイールによるスクロールは可能でした
処理としてはUserControlのスクロール移動量を取得して
FlowLayoutPanelにスクロール移動量を付加させるというような処理になるのでしょうか?
スクロールに関しての処理は初めての為、ご教授いただければ幸いです。
マルチポストを報告
Javascriptを有効にしてください
この投稿がマルチポスト(全く同じ内容の投稿が別の掲示板に投稿されている)の場合は、以下のフォームをご利用いただくと、報告の投稿が簡単に行えます。
このフォームに必要事項を入力後、「返信フォームに入力する」ボタンをクリックすると、このページの下にある
返信フォーム
の項目が自動的に埋まります。実際に投稿するには、その後、返信フォームの「送信」ボタンをクリックしてください。
このフォームを利用しても返信フォームが埋まるだけですので、後で書き直してから投稿することもできます。
「マルチポストされている場所」には、マルチポストされている場所のURLを入力してください。複数のURLを改行区切りで入力することができます。
マルチポストされている場所
オプション
マルチポスト先の投稿が、別人によるいたずらである可能性が高い
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35167
/ ResNo.1)
Re[1]: タブレット等でスワイプによるスクロールを実装
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1454回)-(2022/10/13(Thu) 11:14:13)
2022/10/13(Thu) 11:18:44 編集(投稿者)
Windows Touch あるいは スタイラス対応のタブレット デバイスが
現在手元に無いため、動作を確認せずに回答しています。
余裕があれば追って確認しますが…とりあえず状況把握として逆質問。
■
No35165
に返信(炎の妖精さんさんの記事)
> 上記のような配置の場合ではスクロールが出来ませんでした。
マウスホイールによる操作の場合、
「ホバーしたときに非アクティブウィンドウをスクロールする」
が On / Off の状態で動作が変わるかと思いますが、スワイプの場合、
上記の設定切替に近い動作にしたいのでしょうか。それともスワイプは
上記設定によらず、常に同じ動作になって欲しいのでしょうか。
https://dynabook.com/assistpc/faq/pcdata2/017955.htm
> Windowsフォーム上に以下のコントロールを配置しました。
Button, UserControl, FlowLayoutPanel のそれぞれに対して
・AutoSize プロパティによって自動変更されるもの
・Dock や Anchor などによってリサイズされうるもの
・固定サイズで配置されるもの
などがどうなっているのか定かでは無いので、
当方で状況を読み切れていない部分があるかもしれませんが:
今回、FlowLayoutPanel が採用されている理由は何ですか?
FlowLayoutPanel 内にあるコントロールが UserControl 一つだけなら
フローレイアウトになることも無さそうなので、素の Panel で良いような。
(案1) デザイン時にスクロールできない
Panel1 (AutoScroll = False)
└UserControl1 (AutoScroll = True , Dock = Fill, Anchor = Top,Left)
(案2) デザイン時にもスクロール可能だが、カプセル化しにくいかも?
Panel1 (AutoScroll = True)
└UserControl1 (AutoScroll = False, Dock = None, Anchor = Top,Left)
FlowLayoutPanel 版は、Panel 版の 案2 に近い設計なのかと予想していますが、
上記それぞれを試した時、
a) マウス(あるいはタッチパッド)によるホイール回転操作
b) マウスによるパン操作(ホイールを押しながらのドラッグ)あるいは同等のタッチパッド操作
c) スタイラス(ペン)を画面に押し付けた状態でのスワイプ操作
d) スタイラスのスクロールボタンを押した状態でのホバー操作
e) Windows Touch によるスワイプ操作
の動作に違いが生じるでしょうか。それとも 案1/案2 で変わらないでしょうか。
a と d は非アクティブ状態でも操作できるのに対して、
b, c, e はタップ(あるいはクリック)操作が先に入るので、
常にアクティブウィンドウに対して操作することになるという違いがありそうです。
ところで、今回のスワイプ操作はどの場所から始める想定でしょうか?
ア) FlowLayoutPanel のスクロールバー部
イ) FlowLayoutPanel の余白部(UserControl の外側)
ウ) UserControl のクライアント領域
エ) 各ボタンの上
オ) 上記以外
フォーカスを受け取れるコントロール、かつ、スクロール可能なコントロールの
上でスワイプ操作を開始すると、スクロールが発生し無さそうなので
念のために確認しています。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35168
/ ResNo.2)
Re[1]: タブレット等でスワイプによるスクロールを実装
▲
▼
■
□投稿者/ 炎の妖精さん
一般人(8回)-(2022/10/13(Thu) 11:16:02)
すみません。解決しました。
他社サイト様にて
C#で書かれたコードをVB.NETに書き直し
一部のコードを直したら想定通りの動作となりました。
■Windowsフォームアプリにおけるスワイプによるスクロールについて
※URLは長いので省略させていただきます。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
半角カナは使用しないでください。文字化けの原因になります。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
投稿前に必ずお読みください
初めて投稿される方は、必ず「
書き込みのルールについて(12/4/2更新)
」をお読みください。
読むのが面倒、ルールを守りたくないという方は、「
お気楽掲示板
」へ投稿してください。
質問を投稿する場合は、「
質問をする際のアドバイス
」を参考にしてください。
投稿は、明記のない限り、パブリックドメインになります。
マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください。以下のリンクをクリックしていただくと、自動で下のフォームが埋まりますので、その後「送信」ボタンを押してご投稿ください。
マルチポストの報告をする
マルチポストの報告をするが、マルチポスト先の投稿が嫌がらせである(元の投稿者とは別人が行なっている)可能性が高い
(投稿日時に開きがあり、こちらの投稿の方が早い場合は、その可能性が高いです)
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.png
/.zip
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
20KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/300KB]
残り:[300KB]
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
クリエイティブ・コモンズ・ライセンス
を Comment の末尾に挿入するには、以下のリンクをクリックしてください。(Javascript で挿入しているだけです。)
表示(CC BY)
|
表示-改変禁止(CC BY-ND)
|
表示-継承(CC BY-SA)
|
表示-非営利(CC BY-NC)
|
表示-非営利-改変禁止(CC BY-NC-ND)
|
表示-非営利-継承(CC BY-NC-SA)
プレビュー/
クッキーに保存しない/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-