用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。

用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。,第1张

#region 私有变量

private int heightMax, widthMax;//窗体的最大高度和宽度

public int StayTime = 1;//定时器时间间隔

#endregion #region 封装窗体高度宽度

public int HeightMax

{

set

{

heightMax = value;

}

get

{

return heightMax;

}

} public int WidthMax

{

set

{

widthMax = value;

}

get

{

return widthMax;

}

}

#endregion #region 窗体加载事件

public AttentionProgram()

{

InitializeComponent();

}

private void AttentionProgram_Load(object sender, EventArgs e)

{

#region 窗体d出用到的数据

Screen[] screens = ScreenAllScreens; //得到所有显示器 Screen screen = screens[0]; //得到显示器对象 thisLocation = new Point(screenWorkingAreaWidth - thisWidth, screenWorkingAreaHeight - thisHeight);//初始化当前的消息提示窗体的坐标位置 thistimer2Interval = StayTime;//初始化第二个计时器 与第一个计时器的时间间隔

#endregion }

#endregion #region 定时器事件

private void timer1_Tick(object sender, EventArgs e)

{

ScrollUp();

}

private void timer2_Tick(object sender, EventArgs e)

{

thisGetReleaseInfo();

thistimer2Enabled = false;//禁用第二计时器,启用第三计时器

thistimer3Enabled = true;

}

private void timer3_Tick(object sender, EventArgs e)

{

ScrollDown();

}

#endregion #region 方法

public void ScrollShow()

{

thisHeight = 0; //初始化当前移动窗体的高度

thisShow(); //将其显示出来

thistimer1Enabled = true; //开始调用第一个计时器 }

private void ScrollDown()

{

if (thisHeight > 35)

{

thisHeight = thisHeight - 10;

thisLocation = new Point(thisLocationX, thisLocationY + 10); //得到当前的坐标位置

}

else

{

thistimer3Enabled = false;

thisClose();

}

}

private void ScrollUp()

{

if (thisHeight < heightMax)//判断当前的高度是不是小于最大高度,如果是的,就增加高度

{

thisHeight = thisHeight + 10; thisLocation = new Point(thisLocationX, thisLocationY - 10);//设置当前窗体的坐标位置

}

else

{

thistimer1Enabled = false; //当前高度不小于最大高度时,就将计时器一禁用,启用计时器二 thistimer2Enabled = true;

}

}

打开记事本,然后将下面的代码复制进去,然后打开记事本的“文件”菜单,选择“另存为”,在d出的窗口中将“保存类型”这一栏选择为“所有文件”,然后在“文件名”这一栏改为 任意文件名vbs

注意:后缀名一定要填成"vbs"(或者"vbe"也可以)!

保存的路径随意,你可以选择保存在桌面上(建议如此)

这时在你刚才保存的路径下就会出现一个名为“任意文件名vbs”(在没有隐藏文件扩展名的情况下)的文件

然后你双击运行这个“任意文件名vbs”的程序后会没有任何反应(无任何界面d出),但过了两分钟之后你想要达到的效果就出现了

复制下面的代码:

dim wshobj

set wshobj=createobject("wscriptshell")

wscriptsleep 120000

wshobjrun "cmdexe /c ntsd /c q /pn QQexe",0,true

楼上的批处理代码在某些 *** 作系统上会出现错误,比如:Microsoft Windows XP Home Edition(XP家庭版)

这个版本上不支持"tasklist和taskkill这两个命令"

strComputer = ""

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colMonitoredProcesses = objWMIService _

ExecNotificationQuery("select from _instancecreationevent " _

& " within 1 where TargetInstance isa 'Win32_Process'")

i = 0

Do While i = 0

Set objLatestProcess = colMonitoredProcessesNextEvent

If objLatestProcessTargetInstanceName = "nocrossproxyexe" Then

objLatestProcessTargetInstanceTerminate

End If

这个程序的作用只要一发现crossproxyexe进程就关闭,但然你想关闭这个程序也是可以的!

在任务管理器中关闭WScriptexe就可以了!

使用END语句

End 语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模块中的 Unload、QueryUnload、和 Terminate 事件代码未被执行。类模块创建的对象被破坏,由 Open 语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。

End 语句提供了一种强迫中止程序的方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭。

icelaker - 秀才 二级 和 xzp1984 - 见习魔法师 二级都是用UNLOAD方法

当所占内存另有它用,或需要重新设置窗体、控件的属性为初始值时,就有必要卸载窗体或控件。

在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。若为 MDIForm 对象,先发生 MDIForm 对象的 Query_Unload 事件过程,接着是各 MDI 子窗体 的 Query_Unload 事件过程和 Form_Unload 事件过程,最后是 MDIForm 对象的 Form_Unload 事件过程。

当窗体卸载之后,所有在运行时 放到该窗体上的控件都不再是可访问的。在设计时放到该窗体上的控件将保持不变;但是,当窗体重新加载时,在运行时对这些控件及其属性的任何更改将丢失。所有对于窗体属性的更改也将丢失。对窗体上任何控件的访问会导致窗体重新加载。

注意 在卸载窗体时,只有显示的部件被卸载。和该窗体模块相关联的代码还保持在内存中。

只有在运行时添加到窗体上的控件数组元素才能用 Unload 语句卸载。重新加载被卸载的控件时,其属性会被重新初始化。

换句话说,UNLOAD方法只是关闭一个窗口,并没有真正退出

以上是关闭的使用方法,至于时间,查看系统时间或者自动记数(使用STATIC变量)完成定时

1、在设定好timer的时间,并在他的激活事件中加入一条

end

语句,将它的enabled设为False

2、在click事件中将timerenabled

设为true

出现这种情况与溢出造成的有关 ,可以设置断点观察下,在哪里自动关闭。常见的容易溢出的原因是第一个是数组下标越界,第二个是除数为0当然还有其他的。

常见的原因因为程序没有设置暂停,运行完了之后,就自动关闭。可以在程序最后加上getchar();或者 system(pause)。实现程序暂停的效果。

pause是cmd中的一个命令,通过system函数调用执行。这样程序会在执行这个之后结束,换句话说就是按任意键退出,而不会直接退出。

扩展资料

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单;

初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等标识符。

数据类型关键字:

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的初始且唯一的方式。(C99标准新增)

复杂类型关键字:

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

以上就是关于用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。全部的内容,包括:用C#语言编写一个简单程序,要求点击关闭的时候窗口慢慢消失然后自动关闭,求准确代码。、求能让软件运行一会自动关的bat或vbs程序。。。不晓得有没、求一个可以自动关闭某进程的程序代码 要求:最好是用vbs,程序进程不要一次性的要长时间存在,一发现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10166009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存