C# 打开新窗口后,怎么让程序继续运行。不关闭新窗口的前提下。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 打开新窗口后,怎么让程序继续运行。不关闭新窗口的前提下。相关的知识,希望对你有一定的参考价值。
StateForm sf = new StateForm();
sf.ShowDialog(); //打开新窗口,程序停止在这里。
string result2 = string.Empty; //程序无法运行到这一步!
用ShowDialog打开新窗口后,怎么让程序继续运行(不关闭新窗口的前提下)
==========================================
但是用了Show打开窗口以后,这句话就无效了:
this.StartPosition = FormStartPosition.CenterParent;
不能针对父窗口居中了。。。怎么解决?
==========================================
二楼那位大哥,顺序当然是不能变化的啊。。。
其实这个问题可以用好几种方式实现,你也可以改改代码。
第一种:用timer实现自动执行,因为你打开模式窗体后,启动某个timer控件,在timer里写上你要执行的代码。这个不受打开窗体的影响。
第二种:把你要执行的代码写成public方法形式,打开模式窗体。带入当前窗体对象this,在小窗体里调用该public方法执行代码。
我看你的问题,我觉得你这个后面的代码是不是和刚打开的这个sf有关啊。如果没关系,顺序就不是问题了。如果可能发详细代码帮你看看。 参考技术A ShowDialog打开的是模式窗口,必须关闭后后面的代码才能继续运行
你可以将新窗口的TopMost属性设为True,然后用Show打开新窗口,这样后面的代码就能继续运行,而且新窗口也是置顶的
经过测试发现,使用Show打开新窗口时,StartPosition的确不起作用了,需要自己手动设置新窗口的位置
private void button2_Click(object sender, EventArgs e)
Form2 fm = new Form2();
fm.StartPosition = FormStartPosition.Manual;
int x, y;
x = this.Location.X + (this.Width / 2) - (fm.Width / 2);
y = this.Location.Y + (this.Height / 2) - (fm.Height / 2);
fm.Location = new Point(x, y);
fm.Show(this);
本回答被提问者采纳 参考技术B 你换一下顺序试试,先执行string result2 = string.Empty; 再跳转; 参考技术C ShowDialog()干嘛。。。show()就行了啊。。
python TKinter的主窗口运行程序完毕后,怎么让其自动关闭
参考技术A采用的是main函数对主窗口运行程序完毕自动关闭的命令:
from tkinter import *def main():
root = Tk()
b = Button(root, text='退出', command=root.quit)
b.pack()
mainloop()if __name__ == '__main__':
main()
扩展资料:
main函数的应用:
程序执行的出发点,main,是相对而言的,正如语音学理论关注的是泛音,泛音是程序中main以外的功能,产生泛音是为了迎合思维方式而不是某种模式。有主次之分,对其实现进行了详细的分析,既可以模块化程序,又可以实现一个封闭的整体。
模块化编程方法是将整个程序划分成几个功能单一的程序模块,然后分别实现,最后,所有程序模块都像积木一样组装起来。
利用函数实现程序的模块化,大大减少了编码工作量,在函数或复合语句块中定义的自动类型变量称为局部变量。
局部变量的作用域从局部变量定义的位置开始,一直到该函数或复合语句的结尾,局部变量存活时间短。调用局部变量的函数时,将分配局部变量的内存空间,函数调用后,释放局部变量的内存空间。
函数参数和参数属于局部变量,调用函数时,将分配参数内存空间,函数调用后,参数内存空间被释放,C语言函数参数传递可分为三种情况:简单变量作为函数参数,数组名作为函数参数,指针作为函数参数。
参考资料来源:
百度百科-main函数
以上是关于C# 打开新窗口后,怎么让程序继续运行。不关闭新窗口的前提下。的主要内容,如果未能解决你的问题,请参考以下文章
chrome浏览器中选项设置中有一个“关闭Google Chrome 浏览器后继续运行后台应用程序”,这个最好怎么设置?