1

私は Windows フォームを使用しています。何かがスクロールまたはサイズ変更されるたびに、フォーム上の各コントロールのレイアウトを変更するコードを書きたいと思います。フォームペイントが完了する前に、これを行う標準的な方法があるに違いないと思います。

編集:フォームに DataGridView があります。列幅を変更したり、水平スクロール バーを移動したりするたびにレイアウトを変更したい。

4

3 に答える 3

1

フォームでこれら 2 つのメソッドをオーバーライドします。

protected override void OnResize(EventArgs e)
{
    base.OnResize(e);
}

protected override void OnScroll(ScrollEventArgs se)
{
    base.OnScroll(se);
}
于 2012-11-02T08:03:44.343 に答える
0

オブジェクトをTableLayoutPanel. このコントロールは HTML テーブルのように機能しますが、厳密にはそうではありません。

使用方法は次のリンクを参照してくださいTableLayoutPanel

TableLayoutPanel クラス (System.Windows.Forms)

于 2012-11-02T08:09:37.957 に答える
0

何かがスクロールまたはサイズ変更されるたびに

正確にお願いします。


サイズの変更は何を期待していますか?
スクロールはどこで発生しますか? (フォーム、リスト ボックス、またはその他)

フォームのサイズ変更でレイアウトを変更したい場合は、Form.Resize イベント ハンドラーで行うことができます。

フォームのスクロールには、ScrollEventArgs

これらの質問も見てください。

スクロール

フォームのサイズ変更イベント - MSDN

于 2012-11-02T08:13:42.900 に答える