柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VSTO:使用Word中的CheckBox,探索属性/方法

Posted on 2004-09-25 20:13  柚子Nan  阅读(2955)  评论(2)    收藏  举报

第一次使用CheckBox的时候,无论如何都没有办法得到CheckBox的值(true或者false)

刚开始猜测的语法如下:

myCheckBox.Value ,可惜一看Value的类型为Object,然后我把它ToString()也是徒劳:(

 

然后根据编译器提供的信息:

属性、索引器或事件“Value”不受该语言支持;请尝试直接调用访问器方法“Microsoft.Vbe.Interop.Forms.IMdcCheckBox.get_Value()”或“Microsoft.Vbe.Interop.Forms.IMdcCheckBox.set_Value(ref object)

 

然后就敲入get_,然后智能感知(Ctrl+J, .net2003环境下)并得不到任何帮助,只好全部写上,编译一下,哈哈,可以编译通过,看来微软现在并没有完全的把这些控件的属性全部封装完。

 

最终得到这个值了,如下代码:

if(Boolean.Parse(myCheckBox.get_Value().ToString()))

{

       MessageBox.Show("OK");

}

 

另外,我想看看

using Office = Microsoft.Office.Core;

using Word = Microsoft.Office.Interop.Word;

using MSForms = Microsoft.Vbe.Interop.Forms;

这三个命名空间下到底有什么东东,可惜我的MSDN没有安装这些,哪个可以提供一下相关的补丁包

 

下边列出CheckBox的几个

重要属性

              myCheckBox.Caption ;         // CheckBox 显示的名称 string

              myCheckBox.Enabled ;        // CheckBox 是否可用  bool

              myCheckBox.GroupName;    // CheckBox 组设置            string

              myCheckBox.Locked ;        // CheckBox 被锁定,不允许选择 bool

              myCheckBox.MultiSelect      // CheckBox可以多选   fmMultiSelect

              myCheckBox.Value        // CheckBox 是否被选中     object

 

重要的事件

myCheckBox.Change += new MSForms.MdcCheckBoxEvents_ChangeEventHandler(myCheckBox_Change);