我有一个组合框,想要保存数据库中的更改。
我想要做的是如果选择了组合框并且它是真的,它必须运行下面的代码。如果它是假的,那么它必须跳过代码并进一步。
以下代码检查组合框是否已启用。但是当我正在编译它时,如果没有被选中则表示正确
private void Log()
{
if (kaartburgerlijkestand.Enabled)
{
veranderingBurgelijkestaat();
}
}
以下代码将数据保存在数据库中
private string veranderingBurgerlijkestaat()
{
string gebruiker = curMedewerker.Behandelnaam;
string bekeken = prodermaform.pKaart();
string tabblad = tabControl1.SelectedTab.Text;
string pat = CPatient.GeefPatientNaam(patient.Id);
string wijz = "Burgerlijkestaat: " + kaartBurgerlijkestand.Text;
CDb dcon = new CDb();
try
{
if (dcon.Open())
{
SqlCommand cmd = new SqlCommand("INSERT INTO dbo.loggen(Gebruiker, Bekeken, Tabblad, Patientnaam, Wijziging, Datum) VALUES(@gebruiker, @bekeken, @tabblad, @pat, @wijz, @datum)", dcon.Conn);
cmd.Parameters.AddWithValue("@gebruiker", gebruiker);
cmd.Parameters.AddWithValue("@bekeken", bekeken);
cmd.Parameters.AddWithValue("@tabblad", tabblad);
cmd.Parameters.AddWithValue("@pat", pat);
cmd.Parameters.AddWithValue("@wijz", wijz);
cmd.Parameters.AddWithValue("@datum", DateTime.Now);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
dcon.Close();
}
return wijz;
}
有人能告诉我一个如何做的例子
我找到了解决方案
我已经检查了
private void doCheck(object sender, EventArgs e)
{
cmbox = false;
if (kaartBurgerlijkestaat.Focused)
{
veranderingBurgerlijkestand();
}
cmbox = true;
}
然后我使用了SelectedValueChanged事件
private void kaartBurgerlijkestand_SelectedValueChanged(object sender, EventArgs e)
{
if (cmbox)
doCheck(sender, e);
}
它运作正常。
我要感谢大家帮助我!
答案 0 :(得分:0)
添加一个事件监听器,仅kaartburgerlijkestand.Enabled
检查您的组合框是否已启用以进行选择。
在InitializeComponent();
Form.cs
个文件
kaartburgerlijkestand.SelectedIndexChanged += new System.EventHandler
(this.kaartburgerlijkestand_SelectedIndexChanged);
还为上面的代码添加一个函数:
private void kaartburgerlijkestand_SelectedIndexChanged(object sender, EventArgs e)
{
veranderingBurgelijkestand();
}