Я видел и пробовал текущие сообщения других людей, но решения не исправляют это.
Код в программе запускает форму, чтобы получить входные данные, чтобы решить, куда идти в программе. Поэтому, если они выберут первую опцию, она вернет 0 программе.
Код в основной программе:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new mainMenu());
}
public static void OptionSelect(int optionSelected)
{
switch (optionSelected)
{
case 0:
ReadJobs();
break;
case 1:
AddJobs();
UpdateTable(connectionString);
ReadJobs();
break;
case 2:
MessageBox.Show("Option not available yet");
break;
}
}
public static void AddJobs()
{
Application.Run(new AddJob());
}
public static void ReadJobs()
{
Application.Run(new TableOutput());
}
И программа в первой форме:
public partial class AddJob : Form
{
private int count = 0;
public AddJob()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
if (textBox3.Text == null)
{
MessageBox.Show("Please enter valid data");
}
else
{
Program.Client = textBox3.Text;
}
}
private void textBox7_TextChanged(object sender, EventArgs e)
{
if (textBox7.Text == null)
{
Program.Description = "N/A";
}
else
{
Program.Description = textBox7.Text;
}
}
private void textBox5_TextChanged(object sender, EventArgs e)
{
//Program.Cost = float.Parse(textBox5.Text);
bool fail = false;
fail = float.TryParse(textBox5.Text, out Program.Cost);
if ((!fail) && (count % 2 == 0))
{
count++;
MessageBox.Show("Please enter valid data");
textBox5.Clear();
}
count = 0;
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void button2_Click(object sender, EventArgs e)
{
Environment.Exit(1);
}
}
и код для второй формы:
public partial class mainMenu : Form
{
public mainMenu()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
Program.OptionSelect(0);
}
private void button2_Click(object sender, EventArgs e)
{
Close();
Program.OptionSelect(1);
}
private void button3_Click(object sender, EventArgs e)
{
Close();
Program.OptionSelect(2);
}
}
Программа запускает первую форму нормально, а затем вылетает на второй, и это происходит с каждой формой.