【问题标题】:place a form with Opacity over a main form with datagridview winform将带有不透明度的表单放在带有 datagridview winform 的主表单上
【发布时间】:2011-03-25 22:44:21
【问题描述】:

我有一个表单(名为 mainForm.cs),上面有一个 datagridview。

我必须在 datagrdiview 上显示一张图片(不透明)。为了实现这一点,我用图片框制作了另一个表单(frmPicture),并将 opacity 属性应用于表单。当鼠标进入表单(frmPicture)时,它还设置不透明度= 100,当鼠标离开表单时设置不透明度= 30。我们需要在点击时调整大小。

问题是当我最小化 mainForm 时,另一个表单仍然在他们的位置。

当方法出现在列表中(在键入点之后)并按 Control 键更改列表的不透明度时,我必须像 Visual Studios 那样找到方法。

我希望有人可以帮助我。

提前致谢。

最好的问候。

【问题讨论】:

    标签: c# winforms opacity


    【解决方案1】:

    如果您将主窗体设置为被覆盖窗体的所有者,它将与主窗体一起最小化,即

         OverlayForm form = new OverlayForm();
         form.Show(this);
    

    【讨论】:

    • 你是对的。我以前做过,但我不记得了。非常感谢!
    【解决方案2】:

    我敢打赌 VS 使用的是 ContextMenu 或新的 ContextMenuStrip,而不是其他形式....

    编辑 - 删除不良建议

    但是,对于您现在面临的情况,我会使用表单的 Deactivate() 事件,并在该事件处理程序中隐藏您的其他表单。这样当你的表单像 VS 一样失去焦点时它会隐藏起来。

    【讨论】:

      猜你喜欢
      • 2013-01-12
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多