CSharp Tips:怎样创建COM的实例

本文详细介绍了在C#中如何调用COM组件,包括直接引用创建实例、不引用COM组件调用以及在不同AppDomain中创建实例的方法,并提到了相关工具tlbimp.exe和aximp.exe的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、前言
C#总的来说不错,Framework也提供了比较丰富的类库,基本上能够满足大部分的需要。但是应用程序难免要和遗留系统打交道,比如说:API函数或者COM组件。
C#在Framework环境内部怎么玩都挺好,一旦要和Framework之外的组件函数打交道就需要作一些手脚了。这里主要对在C #中调用COM组件经常遇到的集中情况进行说明。
 
1、引用一个COM组件,通过New创建
大部分情况下调用COM组件是非常简单的时候,在工程中引用COM组件对应的文件就行了,“Project->References->Add Reference...”。
我们会发现自动生成了一个interop.xyz.dll之类的文件,这个文件中包含了一大堆定义,它其实就是将COM组件中的Interface、CoClass、Enum和Const等重新包装成为符合Framework的形式,接下来我们就可以在程序中直接使用了。DotNet Framework有一个配套的工具tlbimp.exe,可以自己手动进行转换。
例如在Windows XP SP2下,在工程中引用了%System32%/hnetcfg.dll后,就可以直接写这样的代码:
### 关于 Ayui 框架中的默认弹出提示 (Tips) 配置与使用 Ayui 是一款基于 WPF 的 UI 控件库,提供了丰富的控件和便捷的功能来简化开发过程。对于弹出提示(tips),通常用于向用户提供即时反馈或显示额外的信息。 #### Tips 使用场景 在应用程序中,当用户执行某些操作时,可以触发一个短暂的提示消息,告知用户当前的状态或结果。这种设计模式不仅提高了用户体验,还使得界面更加友好直观[^3]。 #### 默认配置项 为了实现简单的提示功能,在 Ayui 中可以通过 `Tip` 类来进行设置: - **Text**: 设置要显示的文字内容; - **Duration**: 定义提示框停留的时间长度,默认情况下会自动消失; - **Position**: 可选参数,指定相对于目标元素的位置(如 Top, Bottom 等); ```csharp // 创建一个新的 Tip 实例并应用基本属性 var tip = new Tip() { Text = "这是一个测试提示", Duration = TimeSpan.FromSeconds(2), }; ``` #### 显示与隐藏 通过调用相应的 API 方法可以在特定时刻展示或关闭这些提示信息: - **Show()**: 手动控制何时让提示出现; - **Hide()**: 提前结束提示的可见状态; ```csharp // 展示提示 tip.Show(); // 延迟一段时间后手动隐藏提示 await Task.Delay(TimeSpan.FromSeconds(5)); tip.Hide(); ``` #### 绑定到按钮或其他控件上 为了让交互更自然流畅,还可以将此逻辑绑定至其他组件事件处理程序内,比如点击按钮时给出相应反馈: ```xml <Button Content="Click Me"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <ei:CallMethodAction TargetObject="{Binding}" MethodName="OnButtonClick"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> ``` ```csharp private void OnButtonClick(object sender, RoutedEventArgs e) { var tip = new Tip { Text = "您已成功单击该按钮!", Duration = TimeSpan.FromSeconds(1.5) }; tip.Show(); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值