내 AddTask 클래스의 단추 클릭 이벤트에서 내 클래스 (ListDisplay)의 비 정적 메서드 (LoadingListBox)를 호출하려고합니다.
namespace Project
{
public partial class ListDisplay : Form
{
public void LoadingListBox()
{
//code
}
}
}
namespace Project
{
public partial class AddTask : Form
{
private void btnSubmit_Click(object sender, EventArgs e)
{
//code
//I want to call LoadingListBox here
}
}
}
나는의 인스턴스를 생성 시도 ListDisplay
수행하여 ListDisplay listDisplayI = new ListDisplay();
다음 쓰기ListDisplay.LoadingListBox();
이 코드에는 오류가 없었지만 제어 흐름을 디버깅 할 때 이전에 수행 한 메서드로 이동하지 않습니다. 나는 또한이 질문에서 대답이 제안하는 것을 시도했습니다.
하지만 디자이너가 놀라서 btnSubmit_Click 메서드를 오버로드 할 수 없기 때문에 오류가 발생합니다. 그래서 btnSubmit_Click의 모든 코드가 호출 된 새 메서드를 public static void addingTask(ListDisplay)
만들었지 만 btnSubmit_Click 메서드에 인수로 넣으려면 ListDisplay의 인스턴스를 만들어야했기 때문에 원하는 것이 아닌 두 개의 인스턴스로 끝납니다 ( 질문에 대한 답변으로 인해).
그래서 지금은 아무것도 생각해 내지 못했고이 LoadingListBox 메서드를 호출하기 위해 당신이 줄 수있는 도움을 주시면 감사하겠습니다. 감사!
두 가지 선택 사항은 ListDisplay
단추를 클릭 할 때 의 새 인스턴스를 원하는지 여부에 따라 달라집니다 .
옵션 1:
namespace Project
{
public partial class AddTask : Form
{
private void btnSubmit_Click(object sender, EventArgs e)
{
var ld = new ListDisplay();
ld.Show();
ld.LoadingListBox();
}
}
}
옵션 2 :
namespace Project
{
public partial class AddTask : Form
{
private ListDisplay _ld;
public AddTask(ListDisplay ld)
{
_ld = ld;
}
private void btnSubmit_Click(object sender, EventArgs e)
{
_ld.LoadingListBox();
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다