扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
应该是需要在Form2上做一个事件,只要在Form2里成功修改了数据库中Machine的值,则Form2可在FormCloseing事件中将修改的Machine关键值传回给Form1。而Form1中应该还要写一个更新Machine的函数,根据Form2传回的参数对Form1现在有控件进行查找参数对应的控件,然后再读取数据库中数据,再修改Form1里对应控件属性。
站在用户的角度思考问题,与客户深入沟通,找到乌拉特前网站设计与乌拉特前网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、网站空间、企业邮箱。业务覆盖乌拉特前地区。
使用FindWindow 查找类名为ToolBarWindow32的窗口即可获得系统托盘的窗口句柄hwnd
然后SendMessage(hwnd,WM_PAINT,0,0);
即可实现刷新功能
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Timer1.Interval = 2000(两秒)
Me.Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
MsgBox("Hello World")
End Sub
在界面拖一个Button和Timer试试这个效果,在界面双击Timer控件,代码应该很明白了
首先窗口也是一个类,而显示出来的可以操作的那个窗口则是这个类的实例
你的意思是点击a的按钮之后单纯更新b的数据还是要改变b上面的控件显示的数据?
如果是前者,也就是b不用在显示上有任何变动的话,那么:
如果b是a的子窗口,那把b窗口的变量名变成是a的全局变量,然后再b把那个要变的数据设为全局并且是public,这样通过“b窗口变量名.要变的数据”就能访问到b里面的变量
如果b不是别人子窗口那么b就不具备变量名了(比如说你是要从子窗口改变主窗口的变量),那你只能通过b的类名(就是name属性)来访问它的数据,这时就只能把你要改的那个数据设为static了。
如果你懂了前面我说的,然后你问题是后者,就是说要通过a的按钮改变b的控件的状态的话,那么由于b上面的控件不是public的,所以没法访问,那么,
方法一:在实例化b之后,把b上面要改的那个控件作为变量传给a
方法二:有时因为各种原因无法使用方法一,那就只能把你将要做的修改做成b里面一个带变量的函数,但由于静态函数不能调用控件,所以要另外定义一个委托,然后设置一个该委托的静态全局变量,然后再b初始化的时候用这个函数作为变量执行构造函数,这样就能在a调用b的那个更改控件状态的函数了。
简单总结一下:把设计的窗体当成类,把实际操作的窗体看成这些类实体化后的变量,然后通过全局的公共变量、函数进行互动,由于主窗体是系统自动打开的,所以没有变量名,那就只能通过类名来访问,所以要把需要被访问的变量、函数设为静态,但由于静态函数无法访问控件,所以只能设置静态的委托变量并在窗体实例化的时候加载那个要访问的非静态函数。
我的做法是先写入一个图片变量,然后再写入到容器上。容器设置双缓冲
还有你说的控件必须透明不太明白,可以直接在容器上绘图,不需要控件,图片的透明度可以用RGBA色的A值(透明度)来控制
我这个也是实时翻滚刷新的,不会闪!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流