[英]How to Change the Opacity of a form from another form in VB.net
一种简单的方法来改变一个窗体的不透明度另一个窗体
在要更改其不透明度的主窗体中(我将其命名为 MainForm)创建一个文本框,将其命名为 ChangeSettingsTextBox,并在要使用它来更改其他窗体不透明度的窗体中创建一个 TrackBar 并将其命名为 OpacityTrackBar(您可以使用文本框或其他东西...)并将此代码添加到 MainForm
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles ChangeSettingsTextBox.TextChanged
Me.Opacity = ChangeSettingsTextBox.Text
End Sub
当您要打开将更改主表单不透明度的表单(我将其命名为设置)时
设置.Show()
在更换表单中添加以下代码:
Private Sub OpacityTrackBar_Scroll(sender As Object, e As EventArgs) Handles OpacityTrackBar.Scroll
MainForm.ChangeSettingsTextBox.Text = OpacityTrackBar.Value / 100
End Sub
我认为您不能从另一个表单更改表单的不透明度,因为它就像一个内部属性,必须从 class 内部更改,但仍然可以从表单外部更改文本框的值,因为它不是表单 object 特殊属性...当您更改该文本框值时...您正在从主窗体内部更改它,因此您现在可以更改窗体属性,因为程序现在正在主结构内部工作形式
首先, Opacity
是双重的。 Doing Me.Opacity = ChangeSettingsTextBox.Text
正在设置一个等于字符串的双重属性。 您应该转换为双倍即
Me.Opacity = Double.Parse(ChangeSettingsTextBox.Text)
将Option Strict On
放在代码填充的顶部将帮助您查看所有类型不匹配的情况。
假设您有两个 forms:Form1 和 Form2。 Form 2 将有一个 Form1 (MainForm) 的实例,并将在 OpacityTrackBar.Scroll 处理程序中设置不透明度
Public Class Form2
Private MainForm As New Form1()
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MainForm.Show()
OpacityTrackBar.Minimum = 0
OpacityTrackBar.Maximum = 100
End Sub
Private Sub OpacityTrackBar_Scroll(sender As Object, e As EventArgs) Handles OpacityTrackBar.Scroll
MainForm.Opacity = OpacityTrackBar.Value / 100
End Sub
End Class
将其放入 TextBox 并处理 TextBox.TextChanged 事件似乎过于复杂。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.