You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2017 C#:打开窗体时无需点击按钮调用函数的方法

解决WinForms窗体打开时自动调用函数的问题

首先,你直接在类作用域里写 sayfayi.goster(sayfa,kapasite); 肯定会报错——C# 不允许在类的直接成员区域写可执行语句,这些代码必须放在方法、构造函数或者事件处理程序里才行。结合你的需求,有两种简单的实现方式:

方法一:在窗体构造函数中调用

既然你已经有了窗体的构造函数,只需要在 InitializeComponent(); 之后添加方法调用即可——因为 InitializeComponent() 负责初始化所有窗体控件,这时候调用方法不会出现控件未初始化的空引用问题:

int sayfa = 1;
int kapasite = 20;
public Form2() {
    InitializeComponent();
    // 在这里调用你的方法,注意方法名是下划线不是点!
    sayfayi_goster(sayfa, kapasite);
}
private void sayfayi_goster(int Sayfa, int Kapasite) {
    textBox6.Text = Sayfa.ToString() + "/" + Kapasite.ToString();
}

方法二:使用窗体的Load事件

如果更倾向于把初始化逻辑和构造函数分开,可以用窗体的Load事件(窗体完全加载完成后触发):

  1. 要么在Visual Studio设计器里双击窗体空白处,自动生成Form2_Load事件处理方法;
  2. 要么手动在构造函数里绑定事件并实现方法:
int sayfa = 1;
int kapasite = 20;
public Form2() {
    InitializeComponent();
    // 手动绑定Load事件
    this.Load += Form2_Load;
}

private void Form2_Load(object sender, EventArgs e) {
    sayfayi_goster(sayfa, kapasite);
}

private void sayfayi_goster(int Sayfa, int Kapasite) {
    textBox6.Text = Sayfa.ToString() + "/" + Kapasite.ToString();
}

另外注意:你原代码里写的sayfayi.goster是拼写错误,你的方法名是sayfayi_goster(下划线连接),不是点,这个错误也要修正,不然即使放在正确位置也会编译失败。

内容的提问来源于stack exchange,提问作者Sniper Sniperx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:26:24