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一致即可。

相关推荐
落寞的星星9 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
聪慧的水蜜桃12 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
2601_9615934216 小时前
Mac 上搭建Linux环境吗?VMware + CentOS Stream 9 镜像快速部署
linux·运维·ide·macos·centos
hixiong12318 小时前
TensorRT转换工具分享
人工智能·计算机视觉·ai·c#
莫生灬灬19 小时前
DY联系人聊天Web面板支持获取联系人/聊天记录/发送消息
前端·chrome·websocket·c#
悲凉的紫菜20 小时前
dariy
android·ide·android studio
love530love20 小时前
CodexPro + MCP + Cloudflare 配置详解:HTTP2、QUIC 与连接排障
ide·人工智能·windows·ai agent
友人.22720 小时前
补充章节:VSCode Wokwi 无法可视化连线?在线 Wokwi 网页拖拽绘图方案
ide·vscode·编辑器
逝水无殇21 小时前
C# 多态性详解
开发语言·后端·c#
逝水无殇21 小时前
C# 继承(Inheritance)详解
开发语言·后端·c#