をオーバーライドするWinFormがあります。OnPaint
このフォームは、MDIの親です。ただし、子供と一緒に表示されてOnPaint
もトリガーされませんか?WinForm
私は使用しようとしInvalidate
ましたUpdate
が、イーザーをトリガーしませんOnPaint
か?
Paintイベントを試しましたが、ここでも同じですか?
何か案が?
を設定するForm.IsMdiContainer
と、実際にMdiClient
はフォームにコントロールが追加されます。子フォームは、フォーム自体ではなく、実際にはMdiClientコントロール内に表示されます。フォームのPaintイベントが発生していますが、MdiClientがフォームにドッキングされているため、フォームは表示されません。代わりに、MdiClientのペイントイベントにアクセスする必要があります。
public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
mdiClient = Controls[0] as MdiClient;
if (mdiClient != null) {
mdiClient.Paint += OnMdiClientPaint;
}
}
private MdiClient mdiClient;
private void OnMdiClientPaint(object sender, PaintEventArgs e) {
e.Graphics.FillRectangle(Brushes.Blue, mdiClient.ClientRectangle);
}
}