c#在列表框中选择另一个项目之前先做点什么

时间:2019-03-14 11:29:52

标签: c# listbox

我有一个列表框,里面装有数据库中的项目

  private void listBox1_SelectedIndexChanged(object sender, 
EventArgs e)
{
    textBox_fn.Text = string.Empty;
    textBox_ln.Text = string.Empty;

    if (conn.State != ConnectionState.Open) { conn.Close(); 
    conn.Open(); }
    OleDbCommand cmd = conn.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT * FROM [table1] WHERE firstn='" + 
    listBox1.SelectedItem.ToString() + "'";
    cmd.ExecuteNonQuery();
    DataTable dt = new DataTable();
    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    da.Fill(dt);

    foreach (DataRow dr in dt.Rows)
    {
        textBox_fn.Text = dr["firstn"].ToString();
        textBox_ln.Text = dr["lastn"].ToString();
    }
    conn.Close();
}

我想在选择项目之前插入代码。所以我将MessageBox与是/否一起使用。

如果是->允许在列表框中选择另一个项目。

如果否->不执行任何操作,则我想保留当前项目(甚至不要重新选择同一项目,它可能会重置关联的文本框)

我尝试过,但是它选择了消息框之前的项目

 private void listBox1_Click(object sender, EventArgs e)
    {
        DialogResult dialogr = MessageBox.Show("Select item ? ", "", MessageBoxButtons.YesNo);
                switch (dialogr)
                {
                    case DialogResult.Yes:
                        // ok select another item
                        break;
                    case DialogResult.No:
                       // Do not select another item, stay on the current one
                        break;
                }

    }

我尝试过使用listBox1_Enter,但它也会选择项目

因此,是否可以在选择项目之前捕获点击?

0 个答案:

没有答案