作成日: 2017/08/29 最終更新日: 2017/08/29
文書種別
制限事項
詳細
GcResizeコンポーネントの配置されたフォームを実装によって拡大/縮小すると、Anchorプロパティが”Top, Left”以外に設定されているコントロールの場合レイアウトが崩れてしまいます。
本現象は、PlusPak for Windows Forms 10.0Jの制限事項です。GcApplicationResizeコンポーネント、GcResizePanelコントロールを使用した場合にも発生します。
本現象は、PlusPak for Windows Forms 10.0Jの制限事項です。GcApplicationResizeコンポーネント、GcResizePanelコントロールを使用した場合にも発生します。
回避方法
コードの実装を次のように変更することで現象を回避できます。
・サイズ変更の直前と直後にOnResizeBegin/OnResizeEndメソッドを呼び出す
・サイズの設定はHeightとWidthプロパティの使い分けではなくSize構造体を使用して1ステップ内で実装する
[コード例]
Private Sub Form1_MouseWheel(sender As Object, e As MouseEventArgs) Handles Me.MouseWheel
With Me
'Ctrl+マウスホイールで拡大縮小
If Control.ModifierKeys = Keys.Control Then
If e.Delta > 0 Then
' ResizeBeginイベントを発生させる
.OnResizeBegin(EventArgs.Empty)
' Sizeを使って実装(WidthとHeightを別々に設定しない)
.Size = New Size(.Height * 1.1, .Width * 1.1)
' ResizeEndイベントを発生させる
.OnResizeEnd(EventArgs.Empty)
ElseIf e.Delta < 0 Then
.OnResizeBegin(EventArgs.Empty)
.Size = New Size(.Height * 0.9, .Width * 0.9)
.OnResizeEnd(EventArgs.Empty)
End If
End If
End With
End Sub
・サイズ変更の直前と直後にOnResizeBegin/OnResizeEndメソッドを呼び出す
・サイズの設定はHeightとWidthプロパティの使い分けではなくSize構造体を使用して1ステップ内で実装する
[コード例]
Private Sub Form1_MouseWheel(sender As Object, e As MouseEventArgs) Handles Me.MouseWheel
With Me
'Ctrl+マウスホイールで拡大縮小
If Control.ModifierKeys = Keys.Control Then
If e.Delta > 0 Then
' ResizeBeginイベントを発生させる
.OnResizeBegin(EventArgs.Empty)
' Sizeを使って実装(WidthとHeightを別々に設定しない)
.Size = New Size(.Height * 1.1, .Width * 1.1)
' ResizeEndイベントを発生させる
.OnResizeEnd(EventArgs.Empty)
ElseIf e.Delta < 0 Then
.OnResizeBegin(EventArgs.Empty)
.Size = New Size(.Height * 0.9, .Width * 0.9)
.OnResizeEnd(EventArgs.Empty)
End If
End If
End With
End Sub
旧文書番号
41251