각각 여러 레이블과 콤보 박스가 포함 된 여러 패널을 생성하는 코드가 있습니다. 각 패널에 포함 된 컨트롤 중 하나는 확인란입니다. 사용자가 확인란을 선택하면 확인란이 있던 전체 패널이 삭제됩니다. 패널을 생성하는 foreach 루프에서 패널 자체에 "Strip"이라는 이름으로 연결할 수 있습니다. 이 루프 외부에서 필요한 모든 매개 변수 (또는 여기서는 용어에 대해 확실하지 않은 인수)를 전송하면 해당 이름이 메소드에 들어가야 할 때 호출 부호 중 하나가 호출 된 후 호출됩니다. "callsign.Text"매개 변수로 설정하십시오. 지금, 여기 내 Checbox 생성 코드 :확인란을 선택한 후 패널을 삭제했습니다.
CheckBox check = new CheckBox();
check.Location = new Point(270, 10);
check.Name = "check:" + callsign.Text;
check.CheckedChanged += new System.EventHandler(CheckCheckedChanged(callsign.Text));
Strip.Controls.Add(check);
하고 여기에 방법의 정의는 CheckCheckedChanged :
public void CheckCheckedChanged(string callsign, object sender, EventArgs e)
{
}
는 ... 우선, 나는 라인 check.CheckedChanged += new System.EventHandler(CheckCheckedChanged(callsign.Text));
그것은 말한다 에서 오류 ko를 얻을, "CheckCheckedChanged
메서드의 오버로드가 1 개의 인수를 취합니다". 나는 틀린 것을 알고있다. 그래서 thats는 나의 첫번째 질문이다. 두 번째는 - 내가 callsign.Text의 이름을 딴 하나의 특정 패널을 삭제하는 방법을 작성하는 방법을 알아낼 수 없다면 그냥 "callsign 처분"을 쓰면 난 wouldnt 일하는 것 같아요. 미리 감사드립니다.
이벤트 처리기에서'string callsign'을 삭제하여 컴파일러 오류를 제거하십시오. 패널을 삭제하지 않고 숨길 수 있습니다. –