0

SQLデータベースによって入力されたWindowsフォームのリストビューがあります。選択するとレコードを削除するボタンがあり、正常に機能しています。しかし、選択したアイテムがなく、削除ボタンをクリックすると、エラーが発生します。だから私はメッセージボックスと条件を追加しますが、常に取得します-オブジェクト参照はオブジェクトのインスタンスに設定されていません。

リストビューに選択したアイテムがあるかどうかを確認して、Ifを入力するにはどうすればよいですか?

ありがとう

private void btnDelete_Click(object sender, EventArgs e)
    {

        bool b = this.lvBrands.FocusedItem.Checked;

        if (b == false)
        {
            MessageBox.Show("You must select a brand .", "Brand Select Error",
            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
        else
        {
            string sID = this.lvBrands.FocusedItem.Text;
            deleteBrand(sID);
            clearBrand(); 

        }    
4

2 に答える 2

3

できるよ

if(lvBrands.SelectedItems.Count > 0)
{
//you have something selected
}
于 2013-03-22T18:01:23.350 に答える
0

FocusedElement参照する前に、nullでないかどうかを確認する必要があります。

 bool b = false;
 if(this.lvBrands.FocusedItem != null)
 {
      b = this.lvBrands.FocusedItem.Checked;
 }

ただし、@ bobekが指摘したように、選択したアイテムを探している場合はSelectedItem、プロパティの代わりに使用する必要がありFocusedItemます。コードは同じですが、を使用するだけSelectedItemです。

于 2013-03-22T18:03:45.600 に答える