Visual Studio的C#实例--2个窗体之间跳转

在Visual Studio中,需要实现2个窗口之间按钮跳转功能,如下

一 首先 program.cs 中

STAThread

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

// 自动生成的代码是这样的

// Application.Run(new Form1());

// 表示 实例化一个新的 Form1 并显示之 此时程序进入消息循环

// 一旦 Form1 被关闭则程序也随之关闭了

// 为了让程序在 Form1 关闭后可以继续运行 需要修改下

new Form1().Show();

Application.Run();

Application.Exit(); //这行代码是需要手动添加的

// 这样做就能避免 Form1 被关闭后程序自动退出了

// 但这样做的风险是什么呢?

// 一旦用户忘记了 Application.Exit();

// 则程序在所有窗口关闭后 其进程仍然没有结束

// 所以 Application.Exit(); 这行代码是需要手动添加的

}

二 在Form1里,增加个按钮,然后按钮编程如下

private void button2_Click_1(object sender, EventArgs e)

{

Form3 f = new Form3();

f.Show();

this.Close();

}

三 在Form3里,增加个按钮,然后按钮编程如下

private void button1_Click(object sender, EventArgs e)

{

Form1 f = new Form1();

f.Show();

this.Close();

}

好了,保存,运行,即可看到,按按钮互相跳转到对方窗口了。

四 跳转后,窗口会移动蹦跳,

为避免切换时窗口移动,将两个窗体的 StartPosition 设置为一致的

值 CenterScreen:始终居中显示即可。

窗体页面显示不一样大,调整AutoScaleMode 和 Size一致即可。

相关推荐
洛兮银儿2 小时前
VScode注释快捷键的修改
ide·vscode·编辑器
颜x小6 小时前
[C#]泛型类与泛型方法
开发语言·c++·c#
caishenzhibiao6 小时前
顺势交易矩阵主图 同花顺期货通指标
java·c语言·c#
TDengine (老段)6 小时前
TDengine Node.js 与 C# 连接器 — Web 服务与 .NET 集成
大数据·数据库·node.js·c#·.net·时序数据库·tdengine
河西石头7 小时前
再谈C#的抽象类和接口:从“适配器”到“毛坯房”的设计哲学
开发语言·c#·接口·依赖注入·抽象类·依赖倒挂
颜x小7 小时前
[C#]——接口与继承
开发语言·c++·c#
Listen·Rain8 小时前
用AI开发出一个AI
java·人工智能·spring boot·tomcat·intellij-idea·mybatis·visual studio
优信电子8 小时前
Raspberry Pi Pico(RP2040)快速入门:Arduino IDE环境搭建与第一个程序
ide
颜x小1 天前
[C#] C++与c#语法对比
开发语言·c++·c#
weixin_423652131 天前
C#使用JObject
开发语言·c#