我有一個組合框並希望將更改保存在數據庫中。保存數據庫中組合框的更改
我想要做的是如果組合框被選中並且它是真的,它必須運行下面的代碼。如果它是假的,那麼它必須跳過代碼並繼續。
下面的代碼檢查組合框是否啓用。但是,當我在編譯的時候沒有選擇
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);
}
,它工作正常。
我想謝謝大家的幫助!
你的意思了_The組合框什麼是選擇,它是true_?你的意思是_當組合框有焦點時? – Steve
請張貼截圖。我不確定我是否正確理解問題。 – Ekk
編譯時間通過使用FLAG(bool)變量避免組合框選擇更改 – andy