回答編集履歴

3

追記修正

2022/04/06 07:48

投稿

nya-3
nya-3

スコア27

test CHANGED
@@ -1,7 +1,23 @@
1
+ ```ここに言語を入力
1
2
  splitContainer1.Panel2.VerticalScroll.SmallChange = 50;
2
3
  splitContainer1.Panel2.VerticalScroll.LargeChange = 50;
3
4
  splitContainer1.Panel2.HorizontalScroll.SmallChange = 50;
4
5
  splitContainer1.Panel2.HorizontalScroll.LargeChange = 50;
6
+
7
+ private void splitContainer1_Panel2_Scroll(object sender, ScrollEventArgs e)
8
+ {
9
+ int newData = (e.NewValue / 50) * 50;
10
+ if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
11
+ {
12
+ splitContainer1.Panel2.VerticalScroll.Value = newData;
13
+ }
14
+ if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
15
+ {
16
+ splitContainer1.Panel2.HorizontalScroll.Value = newData;
17
+ }
18
+ Console.WriteLine(newData.ToString());
19
+ }
20
+ ```
5
21
 
6
22
  これで、50ずつ移動することが出来るようになりました。
7
23
 
@@ -18,4 +34,6 @@
18
34
 
19
35
  どうやら、SplitContainer1のPanel2、このAutoScroll内のサイズ?が
20
36
  50で割り切れるサイズになっていないために動作がおかしい様子。
37
+ ホイールでスクロールした場合と、バーを持ってスクロールさせた場合に許容できない動作になります。
21
38
  でも、どのように対応すれば良いのか分からず断念するかもしれないです。
39
+ 何かアドバイスがあればください。

2

追記

2022/04/06 07:42

投稿

nya-3
nya-3

スコア27

test CHANGED
@@ -9,3 +9,13 @@
9
9
 
10
10
  一番やりたかったことは、グリッド表示したものにスナップすることですが、
11
11
  これは調べても情報が見つからないため難しいのかもしれません。
12
+
13
+ 16:33 追記
14
+ UserForm1
15
+  →TabPage(Anchor Top,Left) Dock None Location Y=50  ItemSizeは200,30
16
+   →SplitContaine1 Anchor Top,Left Dock Fill SplitterDistance 180
17
+     Panel2(右側) AutoScroll True
18
+
19
+ どうやら、SplitContainer1のPanel2、このAutoScroll内のサイズ?が
20
+ 50で割り切れるサイズになっていないために動作がおかしい様子。
21
+ でも、どのように対応すれば良いのか分からず断念するかもしれないです。

1

追記

2022/04/06 04:57

投稿

nya-3
nya-3

スコア27

test CHANGED
@@ -4,3 +4,8 @@
4
4
  splitContainer1.Panel2.HorizontalScroll.LargeChange = 50;
5
5
 
6
6
  これで、50ずつ移動することが出来るようになりました。
7
+
8
+ ただし、ScrollBerを右や下の端まで移動すると、ズレることがあります。
9
+
10
+ 一番やりたかったことは、グリッド表示したものにスナップすることですが、
11
+ これは調べても情報が見つからないため難しいのかもしれません。