我有一个完全相同的组合框(我将简要解释):
if (comboBox2.SelectedItem == "Pavimentos de utilização residencial, social, comercial ou administrativo")
{
Variables.tipodesobrecarga = 1;
dataGridView1.DataSource = DataAccess.Instance.tabelaQPav;
definelarguracolunasQ();
definealturalinhasQPav();
tornarQpavcheckboxesvisiveis();
checkBox16.Checked = true;
//a actualização da caixa de texto Q tem de estar sempre no final da mudança da combobox
actualizaacaoQ();
方法actualizacaoQ()执行以下操作
if ( Variables.tipodesobrecarga == 1 )
{
acaoQ.Text = Convert.ToString(DataAccess.Instance.tabelaQPav.Rows[Variables.categoriadesobrecarga]["qK (kN/m\xB2)"]);
textBox2.Text = Convert.ToString(DataAccess.Instance.tabelapsisEN11.Rows[Variables.Qi]["\u03C80"]);
textBox3.Text = Convert.ToString(DataAccess.Instance.tabelapsisEN11.Rows[Variables.Qi]["\u03C81"]);
textBox4.Text = Convert.ToString(DataAccess.Instance.tabelapsisEN11.Rows[Variables.Qi]["\u03C82"]);
}
每次选择项目时,都应该更新textbox2,3和4中的值。 第一次选择项目“Pavimentos ...”时它会正确,但是如果你选择其他项目,然后再回到“Pavimentos ......”,它将不再更新textBox。
所有其他项目正确更新值(表格工作正常,我可以保证),更奇怪的是,acaoQ文本框始终正确更新,只有textBox没有。
即使设置了断点,它也无济于事 任何提示?
更新:断点用红色显示actualizacaoQ的值,这意味着什么?
解决:
我忘了设置checkbox16.Checked = false;每当我更改项目时,所以当我转回项目“Pavimentos ..”时,checkbox16没有被更改,因此他不会更新应该显示在文本框中的值