表单打开时是否有任何方法可以立即弹出消息框?我只是想显示一条关于如何在打开时使用表单的简短消息。我试过了
/// \image html gplv3_logo.png
/// \image html gplv3_logo.svg
但它不起作用。
答案 0 :(得分:3)
在Form_Load期间显示MessageBox对我来说很好。我从字面上复制/粘贴原始帖子中的代码,并且它有效。我在Windows 8.1上使用.NET Framework 4.5。
您确定要调用Load事件处理程序吗?也许它没有正确地连接到Load事件。
答案 1 :(得分:0)
是否有理由使用表单的Load方法?如果没有,你可以在形式的构造函数中。如果希望在表单加载后立即显示它,则应在初始化表单后在构造函数中执行此操作。看起来应该是这样的:
public partial class myForm : Form
{
public myForm()
{
InitializeComponent();
DialogResult dialogOpen = MessageBox.Show("Use the navigation menu to get started.", "Welcome!", MessageBoxButtons.OK);
}
}
构造函数(public myForm()
)和InitializeComponent();
应该在创建后由Visual Studio自动添加到表单中。
答案 2 :(得分:0)
我不明白为什么它不会在Form_Load中运行。绝对尝试做其他人已经指出的方法,将其置于表单初始化之下。
但是,鉴于您只是显示了一个消息框,我认为没有任何理由存储结果,所以一个简单的MessageBox.Show(message);
应该可以做到这一点。
as @ s.m。从用户体验的角度来看,一旦应用程序启动就会在你的脸上发出通知会非常讨厌,至少如果你每次都有它。就个人而言,我会创建一个布尔设置变量,在第一次显示消息时将其设置为true,并且仅在设置为false时显示它,即第一次显示消息。
private boolean splashShown = Properties.Settings.Default.splashShown;
private void Form_Load(object sender, EventArgs e)
{
if (!splashShown)
{
MessageBox.Show("message");
myForm.Properties.Settings.Default.splashShown = true;
myForm.Properties.Settings.Default.Save();
}
}
并在表单属性中设置splashShown
设置。
如果问题是您的Form_Load()
方法实际上并未附加到Form.Load()
事件,您可以双击设计器中的表单窗口,它会自动创建{{1您的基本方法并将其附加到Form_Load()
事件
答案 3 :(得分:0)
我已经使用过它并且工作正常。应用程序启动首先打开消息框。
InitializeComponent();
MessageBox.Show("put your message here");
答案 4 :(得分:0)
Form_Load事件发生在表单真正可见之前。 我用:
static private bool splashShown = false;
private void Form1_Activated(object sender, System.EventArgs e)
{
if (!splashShown)
{
MessageBox.Show("message");
splashShown = true;
}
}