为什么窗体关闭两次才能关掉??

kutou 2003-10-18 04:41:45
我从主窗体NEW了一个新的窗体,调用新的窗体的CLOSE()方法时,第一次把新窗体由摸态变成非摸态的,第二次才真正关掉,为什么啊???????
急!!!!
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnku 2003-10-19
  • 打赏
  • 举报
回复
怎么没有人回答啊?嫌分少,还是不知道!
ruanyuping 2003-10-19
  • 打赏
  • 举报
回复
up
在码农的生活中,很多级码农都有这样的经历,会被一个小小的技术问题拦住,然后进度跟不上了,被老板XXXX一大通了。心情不爽了。 好吧,这个曾经是我遇到拦路虎之一。但事实上不是什么大技术。技术就是一层纸,破了就破了。 这是一个关于如何跨窗体操作控件或过程的一个例子。比如,你想用窗体A的按键来执行窗体B的文本框变色。 Imports System Imports System.Threading Imports System.Text Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load CheckForIllegalCrossThreadCalls = False '不写这行,会出错,不允许线程的数据写到TextBox1.Text 中去。 Form2.Show() End Sub Private Sub form1_FormClosing(sender As Object, e As EventArgs) Handles Me.FormClosing ' If runThread.IsAlive = True Then runThread.Abort() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '用的是委托方式 Me.Invoke(New MethodInvoker(AddressOf THREAD2)) End Sub Private Sub THREAD2() Static j As Integer j = j + 1 TextBox1.Text = " 这是 [线程] 操作" & vbCrLf & _ " Button2被点了: " & j & " 次" & vbCrLf & "要求是from2.textbox.text= textbox1.text 。[问题]但为什么不能成功显示呢?" End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged Form2.TextBox1.Text = TextBox1.Text End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Static j As Integer j = j + 1 TextBox1.Text = " 这是 [非线程] 操作" & vbCrLf & _ "Button3 点击了: " & j & " 次" & vbCrLf & _ "要求是from2.textbox.text= textbox1.text, 可以成功显示,这个是对的。" End Sub End Class
立即关闭显示器,为听歌时保护显示器而做,好用而已。 ★ 安装说明 无需安装,解压缩到指定目录。 建议在'QuickLaunch'和'桌面'上各建一个快捷方式,方便使用。 ★ 使用说明 运行CloseMonitor.exe,要重新激活显示器,鼠标单双击或按任意键。 鼠标移动时仍然维持关闭状态,如果希望鼠标移动时屏幕点亮,删除CloseMonitorHook.dll 文件即可。 ★ 运行过程 程序运行1秒后关闭显示器。3秒内,显示器不能被打开,然后每分钟,程序尝试关闭显示器。 显示器点亮后的3秒内,程序被禁止再次启动。 在鼠标移动时屏幕会有闪动,如果大家有什么好的建议,请和我联系。 ★ 文件说明 CloseMonitor.exe 主程序,运行即可。 CloseMonitorHook.dll 动态链接库,处理键盘、鼠标消息。 自述文档.txt 本文件。 ★ 作者: ●⌒●┒ べ ★ 变更说明 [2003-2-19] 版本1.0 程序里调用了Windows API ::SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2); [2003-3-30] 版本1.1 增加 对鼠标移动消息的屏蔽。 [2003-5-12] 版本1.2 增加 防止程序运行两个版本,防止鼠标不断的点击,重复运行导致屏幕始终黑暗一片 [2003-7-31] 版本1.3 增加 每分钟尝试关闭一次显示器,防止Windows内部激活显示器。同时禁用屏幕保护 [2003-10-28] 版本1.4 增加 计算机待机时程序自动退出。一为待机唤醒时显示器可以自动点亮,二为解决Win2000 待机唤醒功能与本程序的冲突 [2003-12-23] 版本1.5 增加 程序启动时把所有窗体最小化功能(除置顶的窗体),这是由于窗体在连续刷新时会激 活显示器。此举可以避免窗体刷新 [2005-1-14] 版本1.6 修改由于windows xp加sp2 引发兼容性问题,将 ::SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2);更改为 ::SendMessage(GetForegroundWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2); 网友提供。 [2005-5-22] 版本1.7 增加程序退出时激活显示器的功能,由陶松林(lstfun@126.com)提供帮助。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧