首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在windows forms app中使对象透明

如何在windows forms app中使对象透明
EN

Stack Overflow用户
提问于 2013-08-07 16:05:39
回答 3查看 250关注 0票数 0

我有一个简单的用例。我有一个预览窗口,上面显示了一个usb摄像头。现在这个预览窗口是不可点击的,即不会检测到点击事件。因此,我想把一个透明的对象放在这个预览窗口的顶部。这样我就可以给它添加一个点击事件。有没有一种方法可以让任何对象真正透明,这样它就可以显示它背后发生的事情?

EN

回答 3

Stack Overflow用户

发布于 2013-08-07 16:41:51

我也遇到过类似的问题。解决了我的问题但可能不是你的。

我使用:计时器间隔是30ms。图片盒摄像头提要。

我有一个定时器,在每一个滴答器上,我设置它来捕获网络摄像头馈送的图像,并将其发送到图片盒,并将捕获的图像设置为picturebox.Image。图片框填充视图以充当预览窗口。

我在图片框上点击了事件,然后让我点击视图,然后继续。

票数 1
EN

Stack Overflow用户

发布于 2013-08-07 19:37:11

您可以使用以下技术连接到LiveDeviceSource以捕获发送给它的消息:

代码语言:javascript
运行
复制
public class Form1 : Form { 
   public Form1(){
      InitializeComponent();
      proc = new LiveDeviceSourceProc();
      Load += (s,e) => {            
         proc.AssignHandle(yourLiveDeviceSource.Handle);
      }; 
      proc.Click += (s,e) => {
         //you can also process your code here
      };
   }
   LiveDeviceSourceProc proc;
   public class LiveDeviceSourceProc : NativeWindow {
     protected override void WndProc(ref Message m){
        if(m.Msg == 0x202)//WM_LBUTTONUP   <=> Left Mouse Click
        {
            //process your code here
            if(Click != null) Click(this,EventArgs.Empty);
        }
        base.WndProc(ref m);
     }
     public event EventHandler Click;
   }
}
票数 1
EN

Stack Overflow用户

发布于 2013-08-07 16:31:57

首先,在您的表单中,您具有Enabled属性,您可以执行以下操作:

代码语言:javascript
运行
复制
this.Enabled = false;

若要禁用整个窗体,请执行以下操作。

第二,但不推荐,你可以创建你自己的透明控件--阅读here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18097926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档