나는 C#에서 프로그래밍 해요. Button을 생성하고, 이름과 이벤트를 지정하는 함수가 필요합니다. 나는 그 이름과 사건들을 논증으로 전달할 필요가있다.인수로 void
createButton("cmdPrint", this.Hover, this.Print);
createButton("cmdMark", this.Hover, this.Mark);
호출이 오류를 생성합니다 : createButton (문자열, 시스템에 대한 "최선의 오버로드 된 메서드 일치 내가이 전화를 코드의 다른 부분에서
private void createButton(string name, EventHandler hover, EventHandler click)
{
Button button = new Button();
button.Name = name;
button.Image = Properties.Resources.print_trans;
button.MouseHover += new System.EventHandler(hover);
button.Click += new System.EventHandler(click);
button.Visible = false;
this.Controls.Add(button);
}
:이 일을했다. EventHandler, System.EventHandler) '잘못된 인수가 있습니다. ".
어떤 유형의 인수가 가되어야합니까? 및 을 클릭할까요?
편집 :
존 :
private void Hover(object sender, EventArgs e)
{
Proofs.ShowInformation((Control)sender);
}
private void Print(object sender, EventArgs e)
{
Proofs.Print((Control).sender);
}
두 개의 전화 라인이 같은 오류가 발생 : 호버 및 인쇄는 이벤트입니다.
스티브 : 내 이벤트 인쇄 및 호버는 전형적인 이벤트 구문을 가지고,하지만 난 가져가 및 createButton 기능에 클릭이 있어야합니다 어떤 종류의 모르겠어요.
편집 2 :
내 문제가 해결되었습니다. (에 createButton를)
Del print = this.Imprimir;
Del hover = this.Hover;
createButton("cmdPrint", this.Hover, this.Print);
createButton("cmdMark", this.Hover, this.Mark);
그리고 인수를 변경 :
private delegate void Del(object sender, EventArgs e);
변경 호출 : 난 그냥이 대리인을 추가
private void createButton(string name, Del hover, Del click)
덕분에 많이.
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
Object sender,
EventArgs e
)
이 당신을 알려줍니다 당신이 EventHandler
on the MSDN website를 보면
void MyFunction(Object sender, EventArgs e)
, 당신은이 대표의 구문 설명 볼 수 있습니다
그럼'이. 호버'와'this.Print'는 무엇을 의미합니까? 그리고 그 두 라인 중 어느 것이 문제를 일으키는 것입니까? 문제를 보여주는 짧지만 완전한 * 프로그램을 제공하면 도움이 될 것입니다. –