这里似乎有一个与此类似的问题,但存在“相反”问题(他不希望捕获鼠标事件)。
我有一个带面板的表格。窗口是无边界的,并设置为面板的确切大小(出于所有意图和目的,就好像面板是“自由浮动的”)。我可以将面板的 BackColor 设置为 SystemColors.Control,然后将窗口的 TransparencyKey 设置为相同。这样做是因为它达到了预期的效果(透明度),但面板无法再捕获鼠标事件(这对功能至关重要)!
是否有另一种解决方法,或者重新启用鼠标捕获的方法?
我已经尝试覆盖 OnPaintBackground 并执行 noop,但这并没有实现真正的透明度,因为它不会在每次滴答后更新背景(因此无论您是否移动面板,初始绘制时面板后面的任何内容都会保留在那里或以其他方式更新它)。但是,它确实允许面板捕获鼠标事件。
在项目的这个阶段,这并不是那么麻烦,但我在快速原型期间偶然发现了这个问题,现在它开始让我烦恼。如果有人有任何指示,他们将不胜感激。