C# 在范围中保存checkedlistbox

C# 在范围中保存checkedlistbox,c#,ms-word,vsto,C#,Ms Word,Vsto,我有一个word按钮,用于创建带有checkedListBox的表 问题是checkedlistbox仅在该函数内创建。 稍后,当我尝试从其他函数访问checkedlistbox(查看标记了哪个复选框)时,我无法执行此操作 我正在使用word ribbon checkedlistbox的代码 Microsoft.Office.Tools.Word.Controls.CheckedListBox listBox1; Document extended

我有一个word按钮,用于创建带有checkedListBox的表 问题是checkedlistbox仅在该函数内创建。 稍后,当我尝试从其他函数访问checkedlistbox(查看标记了哪个复选框)时,我无法执行此操作

我正在使用word ribbon

checkedlistbox的代码

            Microsoft.Office.Tools.Word.Controls.CheckedListBox listBox1;
            Document extendedDocument = Globals.Factory.GetVstoObject(Globals.ThisAddIn.Application.ActiveDocument);
            extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
            listBox1 = extendedDocument.Controls.AddCheckedListBox(newTable.Cell(i , 2).Range, 90, 66.75F, "checkedListBox1" + i);
            //listBox1.Name = xlDDLRange.Cells[j, i].Value2.ToString();
            // MessageBox.Show(listBox1.Name);
            //CheckedListBox.CheckedItemCollection;
            listBox1.IntegralHeight = true;
            int j = 1;
            int range = ColumnRange(i );

            while (true)
            {
                //MessageBox.Show(xlDDLRange.Cells[j, i].Value2.ToString());
                if (j == range) break;
                // Add items that are wide to the ListBox.
                listBox1.Items.Add(xlDDLRange.Cells[j+1 , i ].Value2.ToString());
                j++;
            }
现在我尝试使用一个不同的函数来检查标记了哪些复选框

  private void button4_Click(object sender, RibbonControlEventArgs e)
        {
        }
有人能帮我吗

我绝望了

此代码“checkedListBox MouseClick”事件编写此代码

所选索引编号:checkedListBox1.SelectedIndex

选中的索引值:checkedListBox1.SelectedItem.ToString()

名称空间窗口防火墙 { 公共部分类Form1:Form { 公共表格1() { 初始化组件(); }

    private void checkedListBox1_MouseClick(object sender, MouseEventArgs e)
    {
        MessageBox.Show("Selected Index Number :" + checkedListBox1.SelectedIndex + "\n" + "Selected İndex value :" + checkedListBox1.SelectedItem.ToString());
    }
}
}

    private void checkedListBox1_MouseClick(object sender, MouseEventArgs e)
    {
        MessageBox.Show("Selected Index Number :" + checkedListBox1.SelectedIndex + "\n" + "Selected İndex value :" + checkedListBox1.SelectedItem.ToString());
    }
}

如果您使用动态创建复选框,您可以使用委托方法,如

delete.MouseLeave += delete_MouseLeave;



void delete_MouseLeave(object sender, EventArgs e)
{
    Label lbl = (Label)sender;
    lbl.ForeColor = Color.Black;
}

请共享一些相关代码,并让我们知道哪些代码不起作用。您是否有任何错误?这是否回答了您的问题?但我使用的是word checkedboxlist,我无法访问我的checkedboxlist。我添加了一个代码