申请的一般说明: 主要形式为MDI容器。在应用程序启动时,如果没有用于数据库配置的xml文件(在主窗体中检查)主窗体我调用另一个窗体作为showdialog()来填充所有数据库信息以构建连接字符串。然后我关闭表单并打开另一个登录,然后我回到Main表单,它有Split Container(2个面板:顶部有1个菜单,来自子表单的2个内容)。
我打开表格:
private void PlanButton_Click(object sender, EventArgs e)
{
plan.TopLevel = false;
KontenerMenu.Panel2.Controls.Add(plan);
plan.Dock = DockStyle.Fill;
plan.Show();
}
并关闭表格:
private void Plan_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = false;
this.Hide();
}
我对app的问题:
1。当我打开ShowDialog()表单进行数据库应用程序崩溃时,我点击取消按钮。取消按钮只是:
private void cancelButton_Click(object sender, EventArgs e)
{
Application.Exit();
}
2.我有点击按钮打开/关闭/再次打开子表单的问题。当我点击“X”并希望打开时,应用程序崩溃,但不能引用不存在的对象
3。当我击中一个然后是另一个按钮时,我有几个按钮,它总是低于第一个而不是顶部
4。例如我的表格是200x200,在右下角我有按钮(所以位置让我们说190x190)我点击最大化按钮。我的按钮仍然是190x190,我希望它在右下角。我找不到任何财产。有没有或者我必须为此编写一些代码。
答案 0 :(得分:0)
我不确定我理解你的问题。请说清楚。
但作为对问题#4的回答,有一个锚属性可以做你想要的。
答案 1 :(得分:0)
您应该返回DialogResult值并在主窗体中测试,而不是尝试从对话框窗体中退出应用程序。对话框上的取消按钮不需要任何代码,只需将其DialogResult属性设置为“取消”,如果您有“确定”按钮,则将其DialogResult设置为“确定”。
DialogForm f = new DialogForm();
DialogResult r = f.ShowDialog();
if (r == DialogResult.Cancel)
{
Close();
}
答案 2 :(得分:0)
我可以立即看到您的代码存在许多问题,包括:
看起来你正在做的是试图通过反复试验来学习WinForms。你可以做到这一点,但如果你能管理它,那么掌握一本好的教程,书籍,或者甚至参加课程都需要更长的时间并且更加痛苦。这将允许您一次一个地解决这些问题,并获得更愉快的学习体验。