Windows CE 5.0組み込みシステムでユーザー インターフェイスを備えたマシンを作成するプロジェクトに取り組んでいます。私は Windows フォームと C# があまり得意ではありません。だからこそ、私はあなたの助けを求めています。
Closing と Showing で奇妙な遷移を行っていたため、フォームの代わりにユーザーコントロールを使用しています。そこで、複数のユーザー コントロールを 1 つのメイン フォームのフルスクリーン タブとして使用することにしました。問題は、状況によっては、モーダル動作でユーザー コントロールを使用する必要があることです。C#のコードをたくさん見まし たが、それはC# WPF または ASP.NETでした (同じかどうかはわかりません)。C# でモーダル ダイアログのように動作するユーザー コントロールを作成する方法はありますか。私はすでに showdialog 関数を追加していますが、呼び出されたときに親関数をブロックする方法がわかりません。
public abstract partial class cDialog : UserControl, Transparency_Background // Alpha
{
cDialog _mFather;
protected Bitmap _mBackgroundImage;
public cDialog()
{
_mBackgroundImage= new Bitmap(Properties.Resources.logo);
InitializeComponent();
btn_exit.Text = Fs.mMemory.GetVocabulary(eVocabulary.X);
}
private void cDialog_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(_mBackgroundImage, 0, 0);
}
protected virtual void CloseDialog(object sender, EventArgs e)
{
if (_mFather!= null)
{
_mFather.Show();
_mFather.TopLevelControl.Controls.Remove(this);
}
}
public virtual void ShowDialog(cDialog father)
{
_mFather = father;
if (_mFather!= null)
{
_mFather.TopLevelControl.Controls.Add(this);
this.BringToFront();
base.Show();
_mParent.Hide();
}
}
protected override void OnPaintBackground(PaintEventArgs e)
{
//Do nothing Double buffering See Alpha.cs
}
英語で申し訳ありませんが、よろしくお願いします、アレックス。