我正在开发一个在Windows CE 5.0嵌入式系统上创建具有用户界面的机器的项目。我对 windows 窗体和 c# 不太擅长。这就是为什么我请求你的帮助。
我使用用户控件而不是表单,因为他们在 Closing 和 Showing 上进行了奇怪的转换。所以我决定在一个主要表单中使用多个用户控件作为全屏选项卡。问题是我必须在某些情况下使用具有模态行为的用户控件。我看到一堆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
}
对不起,我的英语提前谢谢,亚历克斯。