C# 在C中创建无模式子窗体#
我目前正在开发一个桌面应用程序(主窗体),它上载数据以执行一些基本计算 我想包括一个框弹出一旦用户上传了他的文件(例如:“上传已完成”)。此框应具有两个特征:C# 在C中创建无模式子窗体#,c#,C#,我目前正在开发一个桌面应用程序(主窗体),它上载数据以执行一些基本计算 我想包括一个框弹出一旦用户上传了他的文件(例如:“上传已完成”)。此框应具有两个特征: 它应该是无模式的,不需要输入,它只是一个 信息箱 它应该自动消失(基于计时器) 我已经找到了第二点的解决方案,但是我仍然需要创建我想要弹出的表单。由于我不希望它有按钮,MessageBox不适合 我知道我可以创建一个无模式表单,如下所示: Public class test { Form f = new Form(); f.sho
Public class test
{
Form f = new Form();
f.show()
}
从这一点开始,如何插入与messageBox样式非常相似的字符串文本和字符串标题
谢谢首先,您可以创建一个类似于以下内容的表单,它将与您的消息框等效 然后您可以像这样更改新的
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();
}
这就是你将得到的:
我想这可以让你知道如何开始
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);
定义自己的表单类,为Title和Message添加两个属性。在调用Show()之前将它们设置为文本;谢谢,这对我来说很有效。我会把它标记为答案!出于好奇,最后一个问题是,是否可以省略/禁用richtextbox中的打字机?您的意思是设置为只读吗?我已经将其设置为只读,但打字机仍然显示(尽管您不能再修改richtextbox内容)。这只是一个美学问题,我想知道是否有可能隐藏打字机?@DavidRaths您可以使用
标签来代替RTB。太棒了!非常感谢你!