8

コントロールをサブクラス化していません。Control.Size = Control.Size新しいサイズが実際に異なっていない限り、イベントはトリガーされないため、失敗を介してイベントをトリガーしようとします。

4

4 に答える 4

10

をサブクラス化している場合は、直接Control呼び出すOnResizeか、API で公開できます。

 public void OnResize() {
     this.OnResize(EventArgs.Empty);
 }

ただし、任意のコントロールに対してこれを行うことはできません。前後を変更できSizeますか?別の方法として、リフレクションを使用することもできますが、これはハックです:

 typeof (Control).GetMethod("OnResize",
     BindingFlags.Instance | BindingFlags.NonPublic)
     .Invoke(myControl, new object[] {EventArgs.Empty});
于 2009-02-05T10:42:59.373 に答える
0

Control.Size = new Size(x,y); を使用してコントロールのサイズを変更するだけです。

コントロールのサイズを変更すると、そのコントロールのサイズ変更イベントが発行され、コントロールのサイズが変更されます。

または、コントロールを再描画するだけの場合は、次のようにします。 Control.Invalidate();

于 2009-02-05T10:42:09.000 に答える