簡體   English   中英

C#在contextmenustrip上設置條件

[英]c# set condition on contextmenustrip

無論如何,有沒有設置以下條件:

當我打開文件時,它會在ListView上加載一些信息,第五個子項(索引數應為4)正在加載文本,如果它是“ ETDF”,則啟用contextmenustrip中的一項,如果沒有,則禁用它,我在contextmenustrip中嘗試了此方法,但它給了我一個啟示:

if (listView1.SelectedItems[4].ToString() != "ETDF")
        {
            editToolStripMenuItem.Enabled = false;
        }
        else if (listView1.SelectedItems[4].ToString() == "ETDF")
        {
            editToolStripMenuItem.Enabled = true;
        }

難道我做錯了什么 ?

Opening事件中設置Enabled屬性。

private void MyContextMenuStrip_Opening(object sender, CancelEventArgs e)
{
    editToolStripMenuItem.Enabled = (listView1.SelectedItems[4].ToString() == "ETDF");
}

您是否收到ArgumentOutOfRangeException。 如果是這樣,請檢查計數。

        if (listView1.Items.Count >= 5)
        {
            if (listView1.SelectedItems[4].ToString() != "ETDF")
            {
                editToolStripMenuItem.Enabled = false;
            }
            else if (listView1.SelectedItems[4].ToString() == "ETDF")
            {
                editToolStripMenuItem.Enabled = true;
            }
        }
if (listView1.SelectedItems[4].Text != "ETDF")
        {
            editToolStripMenuItem.Enabled = false;
        }
        else if (listView1.SelectedItems[4].Text == "ETDF")
        {
            editToolStripMenuItem.Enabled = true;
        }

這應該可以解決您的問題,錯誤是在應為text時調用tostring()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM