質問するログイン新規登録

質問編集履歴

3

私が実装を考えていたコードをかきます

2021/04/24 07:14

投稿

hanbee.com
hanbee.com

スコア52

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,59 @@
92
92
  追記
93
93
  Dock,Anchorを試してみましたが、どうやらコントロールを列挙して都合のいいように動作してくれません。
94
94
  やはり、上記のコードを使ったほうが、動作としては良かったです。
95
- これをプロパティにするには、、どのような工夫が必要になるのでしょうか。
95
+ これをプロパティにするには、、どのような工夫が必要になるのでしょうか。
96
+
97
+ 追記2
98
+ 私がしていたコードを書きます
99
+ ```ここに言語を入力
100
+ ' --- 変数宣言
101
+ Private originalSize As Size ' -- コントロール・スケーリング用オリジナルサイズ
102
+ Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) _
103
+ Handles MyBase.SizeChanged
104
+ Me.SuspendLayout()
105
+ ' --- フォーム上のコントロールのサイズと位置を調整
106
+ If Not (Me.WindowState = FormWindowState.Minimized) Then
107
+ ' --- サイズファクターの決定
108
+ Dim sfWidth As Single = (Me.ClientSize.Width / Me.originalSize.Width)
109
+ Dim sfHeight As Single = (Me.ClientSize.Height / Me.originalSize.Height)
110
+ Dim sizeFactor As New SizeF(sfWidth, sfHeight)
111
+ ' --- 各コントロールのスケーリング
112
+ For Each ctrl As Control In Me.Controls
113
+ If (TypeOf ctrl Is ListBox) Then
114
+ DirectCast(ctrl, ListBox).IntegralHeight = False
115
+ End If
116
+ If (TypeOf ctrl Is ComboBox) Then
117
+ DirectCast(ctrl, ComboBox).IntegralHeight = False
118
+ End If
119
+ ' --- フォントのスケーリング
120
+ Dim fntScale As Single = (ctrl.Font.Size * sizeFactor.Height)
121
+ ctrl.Font _
122
+ = New Font(ctrl.Font.FontFamily, fntScale, ctrl.Font.Style, ctrl.Font.Unit)
123
+ ' --- コントロールのスケーリング
124
+ ctrl.Scale(sizeFactor)
125
+ Next
126
+ ' --- オリジナルサイズに保存
127
+ Me.originalSize = Me.ClientSize
128
+ End If
129
+ End Sub
130
+   Public moni_height As Integer
131
+ Public moni_width As Integer
132
+
133
+ Public Sub New()
134
+ 'ディスプレイの高さ
135
+ Dim h As Integer = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
136
+ moni_height = h
137
+ 'ディスプレイの幅
138
+ Dim w As Integer = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
139
+ moni_width = w
140
+ End Sub
141
+
142
+ Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
143
+ '大きさを画面の大きさに指定すると、サイズチェンジイベントがあるので、コントロールも同じ割合で大きくなってくれる。
144
+ Me.Top = 1
145
+ Me.Left = 1
146
+ Me.Height = moni_height
147
+ Me.Width = moni_width
148
+ End sub
149
+
150
+ ```

2

追記

2021/04/24 07:14

投稿

hanbee.com
hanbee.com

スコア52

title CHANGED
File without changes
body CHANGED
@@ -86,4 +86,10 @@
86
86
  印象だったもので。
87
87
  もしかしてそれはFrameWork4.6.1のものでやったからなのでしょうか。
88
88
 
89
- 以上、長文失礼しました。宜しくお願いします。
89
+ 以上、長文失礼しました。宜しくお願いします。
90
+
91
+
92
+ 追記
93
+ Dock,Anchorを試してみましたが、どうやらコントロールを列挙して都合のいいように動作してくれません。
94
+ やはり、上記のコードを使ったほうが、動作としては良かったです。
95
+ これをプロパティにするには、、どのような工夫が必要になるのでしょうか。

1

誤字訂正

2021/04/22 22:28

投稿

hanbee.com
hanbee.com

スコア52

title CHANGED
@@ -1,1 +1,1 @@
1
- フォームを引数としたプロパティを作りたい
1
+ フォームを引数としたメソッドを作りたい
body CHANGED
File without changes