Windows アプリケーションで、 と という名前の 2 つのフォームを作成してい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());
}
}
}
このエラーを修正するのを手伝ってください。