创建多个表单 GUI
本文关键字:GUI 表单 创建 | 更新日期: 2023-09-27 18:30:21
我正在开发一个非常基本的 c# 应用程序 Windows 窗体应用程序,它将值插入到 SQL 数据库中。我有四种不同的表格
- 一个用于输入客户详细信息
- 一个用于输入任何交易详细信息
- 一个分别用于搜索客户/交易。
将所有四种形式连接在一起的最佳方式是什么?我才刚刚进入 C#,所以最基本的方法可能是理想的。
我看到它在我脑海中工作的方式是,您运行程序并最终出现在一个屏幕上,该屏幕显示四个相应表单的四个按钮。当您按下按钮时,将打开一个单独的窗口,显示插入的表单。然后,您可以关闭窗体以返回到主"开始"屏幕
C# 中的基本代码是什么?例如,假设 5 种不同的布局是
-
Main
(包含按钮) -
TransactionEntry
-
AddressEntry
-
TransactionSearch
-
AddressSearch
好的,这是我如何做到这一点的一个例子。在主窗体上的按钮单击事件:
frmSecondForm secondForm = new frmSecondForm(this); //"this" is passing the main form to the second form to be able to control the main form...
secondForm.Show();
this.Hide();
一个你的第二个窗体构造函数代码:
Form frmHome;
frmSecondForm(Form callingForm) //requires a calling form to control from this form
{
Initialize(); //Already here
frmHome = callingForm as frmMain;
}
然后在第二个窗体的关闭时取消隐藏主窗体:
frmSecondForm_FormClosing()
{
frmHome.Show();
}
总而言之,如果您需要在表单之间传递数据,只需将其作为参数添加到第二个表单上即可。
同样,我会考虑将您的数据收集放入存储库包(文件夹)和类中,然后创建一个 User.cs 类来保存您在数据库中保存的所有信息。
提示:右键单击解决方案资源管理器中的顶级项,然后转到"新建->文件夹"。将其命名为回购。右键单击该文件夹并转到新建 -> 类并将其命名为 UserRepo。在这里构建函数以从数据库中收集数据。
在主窗体的构造函数区域中,调用类 (repo)。
private Repo.UserRepo userRepo;
frmMain_FormLoad()
{
userRepo = new Repo.UserRepo();
}
然后在登录按钮上单击:
private button1_ClickEvent()
{
if(userRepo.isValidLogin(userNameText, passwordText))
{
//Do stuff
}
}
for userRepo.isValidLogin()
public bool isValidLogin(String username, String password)
{
bool isValid = false;
//Write up data code
return isValid;
}
从Main
形式使用 eg:
TransactionEntry trans = new TransactionEntry();
trans.ShowDialog();
.ShowDialog()
将显示新窗体,但会停止在Main
窗体上执行的任何代码,直到您关闭它
(这假设您的表单都在同一个解决方案中)
尝试MDI(多文档界面)方式,这里有一个不错的教程:http://www.dreamincode.net/forums/topic/57601-using-mdi-in-c%23/