[英]Create modeless child form in C#
我目前正在开发一个桌面应用程序(主窗体),该应用程序上载数据以便执行一些基本计算。
我希望在用户上传文件后(例如“上传已完成”)弹出一个Box。 此Box应具有2个特征:
我已经找到第二点的解决方案,但是我仍然必须创建要弹出的表单。 因为我不希望它具有按钮,所以MessageBox不太适合。
我知道我可以创建如下的无模式表单:
Public class test
{
Form f = new Form();
f.show()
}
从那开始,如何插入与messageBox样式非常相似的字符串文本和字符串标题?
谢谢
我认为这可以让您了解如何开始
public class MyDialog: Form
{
public MyDialog(string prompt, int timeout)
{
RichTextBox rtb = new RichTextBox();
rtb.Dock = DockStyle.Fill;
rtb.Font = new Font("Times new Roman", 14f, FontStyle.Bold);
rtb.Text = prompt;
this.Controls.Add(rtb);
var _Timer = new System.Windows.Forms.Timer()
{
Enabled = true,
Interval = timeout
};
_Timer.Tick += (s, e) => this.Close();
this.Show();
}
}
您需要做的就是创建如下所示的表单
var f = new MyDialog("It works", 5000);
首先,您可以创建一个表单,如下所示,它相当于您的消息框。
然后,您可以像这样更改新的Form2
构造函数:
public partial class Form2 : Form
{
public Form2(string title, string message)
{
InitializeComponent();
this.Text = title;
label1.Text = message;
}
}
this.Text
是您的标题,然后使用label1.Text
设置标签文本。
然后,在启动新表单时,请执行以下操作:
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2("header","message");
f2.Show();
}
这就是您将得到的:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.