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

第一次使用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);

文章来源:http://www.cnblogs.com/koffer/archive/2004/09/25/46668.html

在参考了上面的代码后,我的问题是这样解决的:

    prjBusinessRules.b_SemiIn bSemiIn =Factory.GetBSemiIn();
    prjCommon.c_SemiIn cSemiIn=bSemiIn.GetSemiInByRollNo(rollNo);
    if(cSemiIn.get_ICommon_Data().RecordCount==0) {
     throw new Exception("当前带子入库单中不存在卷号为:" + rollNo + "的记录!");
    }
    cSemiIn.get_ICommon_Data().Fields[cSemiIn.Processing].Value=processing;
    bSemiIn.IntoStocksForWaiting(ref cSemiIn,place,qualityid,beltStatus,remark);

另外我发现,这种问题是由于C#的索引器当参数为值类型是应该是传值的操作,而如果COM组件中的类的属性是以传址形式的就会出现这种问题.遇到这种问题自己写的类当然可以将属性修改一下,比如:

public proeprty let MyProperty(byval tvalue as string)

  'your code

end property

但是对于非自已编写的类库中的属性就只能使用上文的方法了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值