如何使用C#.net禁用listview的特定项?

如何使用C#.net禁用listview的特定项?,c#,C#,我在C#.net中创建了一个列表视图,其中包含少量项。我想禁用listview的某些项 我已经检查了listview的每个属性,但是没有找到禁用listview项的正确方法。 请帮帮我 以下是一个代码snipet: private void lvTenderCode_DoubleClick(object sender, EventArgs e) { // setLoadModify1(lvTenderCode.Items[lvTenderCode.FocusedItem.Index].S

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

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

以下是一个代码snipet:

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; }              
        }
   }

如果您的意思是“禁用”不显示,则应选中过滤器选项

创建CollectionView,然后使用该视图的Filter属性


例如,请参见:

没有一个属性允许您执行此操作

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


请定义禁用。移除它们是否满足您的需要?选中此复选框否我不想删除项目我只想在运行时显示listview的一些项目,其余项目无法由用户访问我的意思是说我想禁用。有什么办法吗?好的谢谢你的回复,但是我想禁用加载项事件是否还有其他方法可以这样做?你在说什么?我的意思是我想禁用加载项上的listview项目,正如我在上面提到的listview项目数量一样,我想显示一些项目,而项目的其余部分将无法被特定用户访问。这就是我想要禁用listviewExplain“可访问”的特定项的方式。“特定用户”是什么意思?这些项目需要在单个用户上被禁用?的筛选选项是否作为Listview的属性存在?我已经浏览了您的链接,但它不满足我的要求,我希望某些项目可以在Listview中访问,这意味着从这些项目中我可以打开任何表单&某些项目无法访问。
private void ListView1_ItemSelectionChanged(Object sender, ListViewItemSelectionChangedEventArgs e) {
       // If 'e' is the item you want to 'disable'
       e.Item.Selected = false;
    }