프로그램(C# etc.)

c# 프로그램이 시작하자마자 button1_Click 자동으로 호출하게 할 수 있어?

질문폭격 2023. 2. 28. 09:50

 C# 프로그램이 시작될 때 button1_Click과 같은 메서드가 자동으로 호출되도록 하려면 양식의 Form_Load 이벤트 핸들러에 메서드 호출을 추가하면 됩니다.

 

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        button1_Click(sender, e);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // Your code here
    }
}

 

Q2. Form1_Load가 호출되지 않는다.

 

프로그램이 시작될 때 Form1_Load가 호출되지 않는 경우 이러한 일이 발생할 수 있는 몇 가지 가능한 이유가 있습니다. 다음은 확인할 수 있는 몇 가지 사항입니다.

  1. Form1_Load 메서드가 실제로 코드에 정의되어 있고 양식의 Load 이벤트. 폼에 대한 디자이너 보기를 열고 폼 자체를 선택한 다음 속성 창으로 이동하여 이 작업을 수행할 수 있습니다. 속성 창의 이벤트 탭에서 Load 이벤트가 Form1_Load 메서드와 연결되어 있는지 확인합니다.
  2. Form1_Load 메서드를 다른 코드로 덮어쓰지 않는지 확인하세요. 프로그램이 시작될 때 실행되는 다른 이벤트 처리기 또는 초기화 코드가 있는 경우 Form1_Load에 대한 호출을 덮어쓸 수 있습니다. 양식 초기화에 영향을 줄 수 있는 다른 코드가 로드 이벤트를 방해하지 않는지 확인하세요.
  3. 수동으로 양식을 만드는 경우 (즉, 디자이너를 사용하지 않는 경우) InitializeComponent 메서드를 호출하여 양식과 컨트롤을 설정해야 합니다. 이 메서드를 호출하지 않으면 Load 이벤트가 발생하지 않고 Form1_Load 메서드가 호출되지 않습니다.
  4. 양식이 프로그램의 기본 양식으로 설정되어 있는지 확인하세요. 프로젝트에 여러 양식이 있는 경우 프로젝트 속성으로 이동하고 시작 개체로 원하는 양식을 선택하여 기본 양식을 설정해야 합니다.

If 이러한 해결 방법 중 어느 것도 작동하지 않는 경우 문제를 진단할 수 있도록 자세한 내용이나 코드를 제공해야 할 수 있습니다.

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.Load += new EventHandler(Form1_Load);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            button1_Click(sender, e);
        }

        public void button1_Click(object sender, EventArgs e)
        {
            int n = 0;
        }
    }