页面加载时打开两个窗口
本文关键字:两个 窗口 加载 | 更新日期: 2023-09-27 18:36:35
在Windows应用程序中,我正在创建两个表单,分别名为Form1
和Configuration_Form
。首先,我正在加载Configuration_Form
.在此表单中,我检查与 txt 文件的连接。如果 txt 文件有一些数据,则表示它将加载Form1
.否则Configuration_Form不会加载任何内容。
现在我有一个问题,假设txt文件有一些数据,那么这意味着它将加载Form1
并打开另一个空表单。我只想显示Form1
,而不是空的形式。如何阻止该空表单?
这是我的部分代码:
public partial class Configuration_Form : Form
{
Form1 form = new Form1();
public Configuration_Form()
{
StreamReader tr = new StreamReader(Application.StartupPath + "''" + "config.txt");
string config = tr.ReadToEnd();
if (config.Replace("'r'n", string.Empty) == "")
{
tr.Close();
InitializeComponent();
}
else
{
form.Show();
}
}
///////////////////////////
private void btn_submit_Click(object sender, EventArgs e)
{
try
{
if ((txtIP.Text != "") && (txtdatabase.Text != "") && (txtuser.Text != "") && (txtpass.Text != ""))
{
StreamWriter sr = new StreamWriter(Application.StartupPath + "''" + "config.txt");
sr.Write(Convert.ToString((txtIP.Text) + ";" + (txtport.Text) + ";" + (txtdatabase.Text) + ";" + (txtuser.Text) + ";" + (txtpass.Text)));
sr.WriteLine();
sr.Close();
this.Hide();
form.Show();
}
else
{
DialogResult msg = MessageBox.Show("All are mandatory fileds!", "SBS-BIO-CONFIG Administrator", MessageBoxButtons.OK, MessageBoxIcon.Stop);
if (Convert.ToBoolean(msg) == true)
{
this.Show();
}
}
}
catch (Exception e1)
{
MessageBox.Show("'" + e1.Message + "'");
}
}
这是Form1
代码:
public partial class Form1 : Form
{
MySqlConnection con;
MySqlCommand cmd;
MySqlDataAdapter DA;
MySqlDataReader DR;
DataSet DSS;
#region Form_Load
public Form1()
{
InitializeComponent();
}
这是我Program.cs
代码:
namespace BIO_PUNCH_UPDATE
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Configuration_Form());
}
}
}
请帮我修复此错误。
我想您需要根据配置数据加载其中一个表单。如果是这样,那么这里是代码:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form form;
StreamReader tr = new StreamReader(Application.StartupPath + "''" + "config.txt");
string config = tr.ReadToEnd();
tr.Close();
if (string.IsNullOrWhiteSpace(config))
{
form = new Configuration_Form();
}
else
{
form = new Form1();
}
Application.Run(form);
}
此外,如果您需要其中一种形式的配置数据,则可以将配置字符串作为构造函数参数传递。