我收到了这个未处理的异常错误:见屏幕截图。
只有当我使用Ctrl+F5而不是F5(调试模式)运行时,我才会收到此错误。不确定这是否有帮助,我的电脑是 Windows 7-64 位并运行 32 位版本
根据这个讨论:如何让 WinForms 停止默默地忽略未处理的异常?,添加 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException) 将导致 Windows 忽略该错误。
编辑: frmPlant_Load 事件
public partial class frmPlant : Form
{
DatabaseConnection _DbConnection = new DatabaseConnection();
string conString = ConfigurationManager.ConnectionStrings["RVESTConnString"].ConnectionString;
SQLQueries _SQlQueries = new SQLQueries();
DataSet ds;
SQLiteDataAdapter da;
static DataTable gdt;
int gSelectedPlant;
string gSelectedPlantName = "";
bool ignoreSelChg = false;
bool DataDirty = false;
public frmPlant()
{
InitializeComponent();
}
public frmPlant(int sSelectedPlant)
{
InitializeComponent();
}
private void frmPlant_Load(object sender, EventArgs e)
{
ds = FillData();
gdt = ds.Tables[0];
bindingSource1.DataSource = gdt;
dataGridView1.DataSource = bindingSource1;
gSelectedPlant = StaticClass.GlobalValue;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.Columns["PlantId"].Visible = false;
dataGridView1.Columns["NSSS_Design"].Width = 70;
}
private DataSet FillData()
{
ignoreSelChg = true;
SQLiteConnection con = new SQLiteConnection(conString);
DataSet dPlant;
try
{
con.Open();
SQLiteCommand cmd = new SQLiteCommand("select * from Plant", con);
da = new SQLiteDataAdapter("select * from Plant", con);
dPlant = new DataSet();
da.Fill(dPlant, "plant");
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
return dPlant;
}
我还应该补充另一个问题:当我在对话框中说“继续”时,它工作正常,但后台进程仍在运行。我必须在任务管理器中手动去杀死它
问题:假设我在 Program.cs 中添加这一行,它会忽略任何需要修复的甚至是真正的错误吗?
更多代码: 单击第二个屏幕-初始设置屏幕上的按钮会弹出此对话框。第一个是启动画面。初始设置将我带到工厂表单
这是初始设置屏幕的代码
public partial class frmInitialSetUp : Form
{
public frmInitialSetUp()
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
Program.fPlant = new frmPlant();
Program.fPlant.Show();
this.Hide();
}
private void frmInitialSetUp_Load(object sender, EventArgs e)
{
Program.LoadAllForms();
}
}
}
Program.cs
static public void LoadAllForms()
{
try
{
Program.fInitialSetUp = new frmInitialSetUp();
Program.fPlant = new frmPlant();
Program.frm*** = new frm***();
Program.frm*** = new frm***();
Program.frm*** = new frm***();
}
catch (Exception ex)
{
throw ex;
}
}
在按钮上单击