我收到此未处理的异常错误:请参阅屏幕截图。
仅当我使用 Ctrl + F5 而不是 F5 (调试模式)运行时,才会出现此错误。不确定这是否有用,我的电脑是Windows 7-64位并运行32位版本
根据这个讨论:How can I get WinForms to stop silently ignoring unhandled exceptions?,添加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;
}
}
在按钮上单击
答案 0 :(得分:1)
在try {} catch(unhandledexception ex){}中包含frmload并在调试模式下运行它 这次调试器抓住了它。这是datagridview列的一个小问题