使用vb.net在面板中显示表单。错误透明度

问题描述 投票:-1回答:1

我有一个面板和按钮。带有一些文本框的表单。试图在我的面板中显示表单。我写的代码是....

 Private Sub Btn_Click(sender As Object, e As EventArgs) Handles Btn.Click

   Dim f As New form()
    f.TopLevel = False
    f.WindowState = FormWindowState.Normal
    f.FormBorderStyle = FormBorderStyle.None
    f.Visible = True
    Pages.Controls.Add(f)
  End Sub

在另一页,我写了.....

Dim f As New add_customer()
    f.TopLevel = False
    f.WindowState = FormWindowState.Normal
    f.FormBorderStyle = FormBorderStyle.None
    f.Visible = True
    Form1.Pages.Controls.Add(f)

表格显示在面板内。该窗体内的按钮运行良好,组合框效果很好,复选框运行良好,所有大多数都运行良好,但文本框不起作用。尝试打开外面的那种形式。一切都很好。但是在面板内部它不起作用。所有字母和文本框都变得透明。主要形式enter image description here客户按钮点击后enter image description here添加客户按钮后单击enter image description here当页面单独运行.... enter image description here enter image description here需要帮助。

vb.net
1个回答
1
投票

我找到了解决方案。

为TransparencyKey属性指定Color时,将以透明方式显示具有相同BackColor的表单区域。在窗体的透明区域上执行的任何鼠标操作(例如单击鼠标)都将传输到透明区域下方的窗口。例如,如果表单的客户端区域变为透明,则单击该区域上的鼠标会将单击的事件通知发送到其下方的任何窗口。如果分配给TransparencyKey属性的颜色与表单上的任何控件相同,它们也将以透明方式显示。

我不知道透明度的这个属性。我改变了背景颜色,现在一切都很好。感谢Visual Vincent的快速回复.....

这个链接很有用。 https://msdn.microsoft.com/en-us/library/system.windows.forms.form.transparencykey(v=vs.110).aspx

© www.soinside.com 2019 - 2024. All rights reserved.