C#: form 窗体的各种操作

这篇具有很好参考价值的文章主要介绍了C#: form 窗体的各种操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明:记录 C# form 窗体的各种操作

1. C# form 窗体居中显示

// 获取屏幕的宽度和高度
int screenWidth = Screen.PrimaryScreen.Bounds.Width;
int screenHeight = Screen.PrimaryScreen.Bounds.Height;

// 设置窗体的位置
this.StartPosition = FormStartPosition.Manual;
this.Left = (screenWidth - this.Width) / 2;
this.Top = (screenHeight - this.Height) / 2;

2. C# form 窗体设置最大、最小尺寸

C#: form 窗体的各种操作,C#,c#,开发语言

3. C# form 窗体大小改变时控件跟着变大、移动

        在C# Win Form中,可以通过设置控件的Anchor属性来实现窗口拉大时其他控件跟着变大的效果。Anchor属性指定了控件与其父容器之间的边界锚定方式。

        例如,如果你想要一个按钮在窗口拉大时保持在左上角不变,可以将该按钮的Anchor属性设置为Left和Top。这样,当窗口拉大时,按钮会保持在窗口的左上角位置。

        以下是一个示例代码,演示了如何设置按钮的Anchor属性来实现窗口拉大时其他控件跟着变大的效果:

private void Form1_Load(object sender, EventArgs e)
{
    // 设置按钮1的Anchor属性为Left和Top
    button1.Anchor = AnchorStyles.Left | AnchorStyles.Top;
    // 设置按钮2的Anchor属性为Left和Top
    button2.Anchor = AnchorStyles.Left | AnchorStyles.Top;
}

        在上述示例中,按钮1和按钮2的Anchor属性都被设置为Left和Top,这意味着它们会保持在窗口的左上角位置,当窗口拉大时,它们会随着窗口的大小变化而变大。

4. C# form 窗体尺寸改变事件添加

应用:如 C# form 窗口怎么设置最小尺寸,拖动改变大小时达到最小尺寸不再改变。
注意:这只是应用举例,最小尺寸可以在窗口属性中设置,下面的方法在拖到最小时窗口显示效果会抖动。

C#: form 窗体的各种操作,C#,c#,开发语言

        这段代码将窗口的最小尺寸设置为300x200,并且在窗口大小改变时检查窗口的宽度和高度是否小于最小尺寸,如果是,则将宽度和高度设置为最小尺寸。

private void Form1_Load(object sender, EventArgs e)
{
    this.MinimumSize = new Size(300, 200); // 设置窗口的最小尺寸为300x200
    this.Resize += new EventHandler(Form1_Resize); // 添加窗口大小改变的事件处理程序
}

private void Form1_Resize(object sender, EventArgs e)
{
    if (this.Width < 300)
    {
        this.Width = 300; // 如果窗口宽度小于最小宽度,将宽度设置为最小宽度
    }
    if (this.Height < 200)
    {
        this.Height = 200; // 如果窗口高度小于最小高度,将高度设置为最小高度
    }
}

5. C# Form 界面关闭鼠标右键功能

        关键词:关闭鼠标右键,禁用鼠标右键
        在C# Windows Forms 应用程序中,要关闭鼠标右键功能,您可以通过设置窗体的 Form 属性来实现。具体来说,您可以将 Form 的 RightToLeftLayout 属性设置为 true。这将导致窗体上的控件(如菜单和工具栏)在鼠标右键单击时不会显示上下文菜单。
        以下是一个简单的示例,演示如何关闭鼠标右键功能:

public partial class MyForm : Form  
{  
    public MyForm()  
    {  
        InitializeComponent();  
        this.RightToLeftLayout = true; // 关闭鼠标右键功能  
    }  
}

        请注意,这将影响窗体上的所有控件,包括那些没有默认上下文菜单的控件。因此,您需要确保这是您真正想要的行为。
        另外,如果您只想针对特定的控件禁用右键菜单,您可以使用控件的 ContextMenuStrip 属性并将其设置为 null。例如:

// 假设有一个名为 myControl 的控件  
myControl.ContextMenuStrip = null; // 禁用该控件的右键菜单

这种方法只会影响指定的控件,而不会影响窗体上的其他控件。

6. C# 不同form 中定义的变量怎么互相引用(共用)

        在C#中,如果你想在不同的Form之间共享变量,通常有以下几种方法:

        可以在程序的类级别定义一个全局变量,所有的Form都可以访问这个变量。但是,这种方法并不推荐,因为它可能会导致代码难以维护和理解。

public static class GlobalVariables  
{  
    public static int SharedVariable = 0;  
}

然后在任何Form中引用这个变量:

int value = GlobalVariables.SharedVariable;

2.属性或字段: 

        可以在主Form中定义一个属性或字段,然后从其他Form中访问它

public partial class MainForm : Form  
{  
    private int sharedVariable;  
  
    public int SharedVariable  
    {  
        get { return sharedVariable; }  
        set { sharedVariable = value; }  
    }  
}

然后在其他Form中这样引用:

MainForm mainForm = new MainForm();  
int value = mainForm.SharedVariable; // 或者 mainForm.sharedVariable; 如果属性是public的

3.使用静态类:

        创建一个静态类来存储和管理全局变量。静态类的一个好处是,你不需要创建类的实例就可以访问它的静态成员。

public static class SharedVariables  
{  
    public static int SharedVariable { get; set; }  
}

然后在任何Form中引用这个变量:

int value = SharedVariables.SharedVariable;

4.通过接口:

        如果你希望有一种更结构化的方式来在不同Form之间共享数据,你可以定义一个接口,然后让含有你需要的数据的Form实现这个接口。

public interface IDataSharable  
{  
    int SharedVariable { get; set; }  
}

然后在需要共享数据的Form中实现这个接口。其他Form可以通过这个接口来访问数据。文章来源地址https://www.toymoban.com/news/detail-805407.html

public partial class DataSharingForm : Form, IDataSharable  
{  
    public int SharedVariable { get; set; }   
}  
``` 然后在另一个Form中这样引用:  
```csharp   
IDataSharable sharable = new DataSharingForm();   
int value = sharable.SharedVariable;   
``` 这种方式使你的代码更清晰、更易于维护,并且符合面向对象的设计原则。

到了这里,关于C#: form 窗体的各种操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT实现按钮开关Form窗体的效果

    实现效果叙述如下: MainWindow 中的按钮实现 Form 窗体的开关, Form 窗体的 关闭 按钮禁用掉,只允许使用窗体按钮进行,且关闭 MainWindow 按钮时 Form 窗体随之关闭。 注意: 要想实现关闭 MainWindow 按钮时 Form 窗体随之关闭, Form 窗体的 close() 在 MainWindow 的析构函数中无法实现,

    2024年02月15日
    浏览(35)
  • Visual Studio C# WinForm开发入门(3):各种控件介绍

    窗口就是打开程序我们所面对的一个面板,里面可以添加各种控件,如下图所示,我们可以在属性栏设置其标题名称、图标、大小等。 双击标题框,会生成Load函数,也可以到事件里面去找 Load函数是窗口生成后需要执行的事件函数。 可以在里面加一些初始化函数。 (1)Na

    2024年02月09日
    浏览(55)
  • C#程序设计——Windows应用程序开发,1、初步掌握Windows应用程序的设计方法。2、掌握常用窗体控件的使用方法。

    初步掌握Windows应用程序的设计方法。 掌握常用窗体控件的使用方法。 1、设计一个Windows应用程序,创建一个用于添加学生个人基本信息的窗体,窗体下方法同时滚动信息“天行健,君子以自强不息!”。   要示如下: 如图1所示,设计窗体界面控件的布局 图1 学生信息管理

    2024年02月10日
    浏览(82)
  • C#winform 点叉叉按钮关闭一form窗体应用后,后台进程仍在运行的解决办法

    如果要解决“C#winform 点叉叉按钮关闭一form窗体应用后,后台进程仍在运行”的问题,可以直接点击目录跳转到3.4关闭窗体的多种方法。 前面为记录遇到该问题的一些过程。 之前用C#做了一个日志备份的窗体应用程序,最近把这个程序完善了一下,在窗体上显示了配置文件中

    2023年04月26日
    浏览(44)
  • C# 添加现有的窗体的时候,为何窗体的控件不显示了?

    有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了? 将Form1.cs Form1.resx Form1.Designer 三个文件直接复制到新项目的目录下,然后直接在新项目上选择添加现有项

    2024年02月10日
    浏览(43)
  • C#固定窗体大小、隐藏窗体最大化、最小化及关闭按钮

    一、固定窗体大小 方法一: 选中窗体--属性--FormBorderStyle--FixedSingle 方法二: 将Form中,MaximumSize和MinmunSize的值设置为与当前的Form的Size值一样。如均设为688,631(作者采用的第一种做法,因此这里显示的不一样) 二、隐藏窗体相关按钮 屏蔽最大化/最小化: 设置MaximizeBox为Fa

    2024年02月04日
    浏览(42)
  • 【C#】【WinForm】MDI窗体

    MDI窗体的相关学习使用 1、设置MDI父窗体  在属性中找到IsMdiContainer选项,设置为True 2、添加MDI子窗体,在项目中依次选择添加-窗体,然后一直默认即可  添加后的项目目录(Form1为父窗口,Form2、Form3为子窗口)  3、在Form1.cs中,创建对应MDI子窗口的对象并调用显示出来 保存

    2024年02月08日
    浏览(47)
  • C# 窗体永远在最前

    C# 窗体永远在最前 1、调用系统API 2、函数调用(放在构造或Load) 文章抄录自 c#让窗体永在最前 调用windows api 将窗体设为topmost

    2024年02月11日
    浏览(58)
  • C# 跨线程访问窗体控件

    在不加任何修饰的情况下,C# 默认不允许跨线程访问控件,实际在项目开发过程中,经常使用跨线程操作控件属性,需要设置相关属性才能正确使用,两种方法设置如下: 方法1:告诉编译器取消跨线程访问检查,在窗体构造函数中编写,如下图所示: 方法2:设置所需的控件

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包