gpt4 book ai didi

c# - WinForm 弹出窗体与父级的关系

转载 作者:行者123 更新时间:2023-11-30 14:01:01 28 4
gpt4 key购买 nike

好的,我有一个在 Visual Studio 2010 Express 中编写的 WinForms C# 程序。这个程序有两个窗体,主窗体叫“MainForm”,副窗体叫“ConfigForm”。 MainForm 上有一个弹出 ConfigForm 的按钮。

    private void buttonConfig_Click(object sender, EventArgs e)
{
new ConfigForm().Show();
}

现在,当您单击该按钮时,ConfigForm 会随心所欲地弹出。它不一定会在 MainForm 上弹出。如何让它在主窗体顶部弹出?我试过将 ConfigForm 的 StartPosition 设置为 CenterParent,但这似乎没有任何作用。

就此而言,我如何在 ConfigForm 打开时“锁定”程序。当 ConfigForm 打开时,我希望用户无法导航回 MainForm。

最佳答案

您可能正在寻找这样的东西:

private void buttonConfig_Click(object sender, EventArgs e)
{
using (ConfigForm cf = new ConfigForm()) {
cf.ShowDialog(this);
}
}

是的,请确保 ConfigForm.StartPosition = CenterParent 如您所述。

在 ConfigForm 表单上,您可以让按钮设置表单的 DialogResults,如下所示:

void buttonOK(object sender, EventArgs e) {
this.DialogResult = DialogResult.OK;
this.Close();
}

那么你的调用约定可以是:

private void buttonConfig_Click(object sender, EventArgs e)
{
using (ConfigForm cf = new ConfigForm()) {
if (cf.ShowDialog(this) == DialogResult.OK) {
// do something the user said was ok
}
}
}

关于c# - WinForm 弹出窗体与父级的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9218783/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com