如何使用C#.net禁用列表视图的特定项目

本文关键字:视图 项目 列表 何使用 net | 更新日期: 2023-09-27 18:19:48

我在C#.net中创建了一个列表视图,其中包含少量项目。我想禁用列表视图中的一些项目。

我已经浏览了listview的每个属性,但我没有找到禁用listview项的正确方法。请帮帮我!

以下是一个代码狙击手:

private void lvTenderCode_DoubleClick(object sender, EventArgs e) {
    // setLoadModify1(lvTenderCode.Items[lvTenderCode.FocusedItem.Index].SubItems[0].Text, false);
    //clsSettings.setMDIChild(FrmList.Instance(), MainMenu.publicMDIParent);
    string ss;
    ss = lvTenderCode.Items[lvTenderCode.FocusedItem.Index].SubItems[0].Text;
    if (ss == "Material Requisition") {
        // FrmBoqOptionEntryNew sForm = new FrmBoqOptionEntryNew();
        // sForm.ShowDialog (); 
        // this.Close();
        //Variables.StrBoqMessage = "StrBoqTreeView";
        clssetting.Settings.setMDIChild(FrmMaterialRequisition.Instance(), FrmMainMenu.publicMDIParent);
        }
        if (ss == "Purchase Indent") {
            // FrmBoqOptionEntryNew sForm = new FrmBoqOptionEntryNew();
            // sForm.ShowDialog (); 
            // this.Close();
            //Variables.StrBoqMessage = "StrBoqTreeView";
            clssetting.Settings.setMDIChild(FrmPurchaseIndent.Instance(), FrmMainMenu.publicMDIParent);
        }
        if (ss == "Quotation") {
            // FrmBoqOptionEntryNew sForm = new FrmBoqOptionEntryNew();
            // sForm.ShowDialog (); 
            // this.Close();
            //Variables.StrBoqMessage = "StrBoqTreeView";
            clssetting.Settings.setMDIChild(FrmQuotationVoucher.Instance(), FrmMainMenu.publicMDIParent);
        }
        if (ss == "Purchase Order") {
            // FrmBoqOptionEntryNew sForm = new FrmBoqOptionEntryNew();
            // sForm.ShowDialog (); 
            // this.Close();
            //Variables.StrBoqMessage = "StrBoqTreeView";
            clssetting.Settings.setMDIChild(FrmPurchaseOrder.Instance(), FrmMainMenu.publicMDIParent);
        }
        if (ss == "Spot Purchase Order") {
            // FrmBoqOptionEntryNew sForm = new FrmBoqOptionEntryNew();
            // sForm.ShowDialog (); 
            // this.Close();
            //Variables.StrBoqMessage = "StrBoqTreeView";
            clssetting.Settings.setMDIChild(FrmSpotPurchaseOrder.Instance(), FrmMainMenu.publicMDIParent);
        } else if (ss == "Exit") {
            FrmsmallQuit sForm = new FrmsmallQuit();
            sForm.Location = new Point(600, 627);
            sForm.ShowDialog();
            if (FrmsmallQuit.strMsg == "YES") { Close(); }
            else { return; }              
        }
   }

如何使用C#.net禁用列表视图的特定项目

没有一个属性可以让您做到这一点。

通常,该方法是处理索引更改事件,并立即将Selected属性设置为false(即,给用户一种"不可选择"的外观):

http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.itemselectionchanged(v=vs.110).aspx

private void ListView1_ItemSelectionChanged(Object sender, ListViewItemSelectionChangedEventArgs e) {
       // If 'e' is the item you want to 'disable'
       e.Item.Selected = false;
    }

如果您的意思是"禁用"不显示,您应该选中Filter选项。

制作CollectionView,然后使用该视图的Filter属性。

例如,请参阅:在此处输入链接描述