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

相关推荐
Leinwin1 分钟前
Copilot Studio 实战:多模型选择、GitHub Copilot harness 计费与 Copilot Credits 额度管理
开发语言·c#
FuckPatience23 分钟前
C# Winform 使用Label循环显示闪烁
开发语言·c#
念何架构之路30 分钟前
OpenTelemetry核心概念
后端·目标跟踪·golang·c#·linq
开开心心就好1 小时前
电脑语音实时转文字工具,会议记录很省事
运维·服务器·前端·c#·ocr·perl·1024程序员节
波力海苔夹心脆6751 小时前
C# 固高 GTS 运动控制卡入门:伺服上下电、Jog 点动与二维插补(WinForms 实战)
服务器·开发语言·c#·运动控制·伺服电机·winforms·固高
何以解忧唯有撸码8 小时前
c# + YOLODotNet+OpenCVSharp 实现物品轨迹追踪
计算机视觉·c#·winform·yolov8·opencvsharp
阿松爱学习18 小时前
【Unity开发】局部区域截图功能实现
unity·c#
zhanghaha131419 小时前
C# 系列教程_1 基础语法篇(面向新手系统教程)
开发语言·c#
昂好的day20 小时前
固高运动控制卡实战(下):点位运动与直线/圆弧插补 API 详解
开发语言·c#
_小许_20 小时前
AI IDE 与 Agent Harness:一次说清 Cursor、Codex 该怎么选
ide·人工智能·ai编程·cursor·codex