반응형
Usercontrol에서 이벤트를 만들고 Main Form에서 처리하는 방법은 무엇입니까?
사용자 지정 사용자 컨트롤이 있고 비교적 간단한 작업을하고 싶습니다.
해당 사용자 컨트롤의 값에서 숫자 위아래가 변경 될 때마다 기본 양식이 표시 창을 업데이트하도록합니다.
NUD가 사용자 컨트롤에 있지 않은 경우 문제가되지 않지만 이벤트를 사용자 컨트롤이 아닌 메인 폼에서 처리하는 방법을 알아낼 수없는 것 같습니다.
사용자 정의 컨트롤 내에서 이벤트가 시작될 때 발생하는 사용자 정의 컨트롤에 대한 이벤트 처리기를 만들어야합니다. 이렇게하면 양식에서 이벤트를 처리 할 수 있도록 이벤트를 체인 위로 버블 링 할 수 있습니다.
Button1
UserControl을 클릭 하면 폼에서 Button1_Click
트리거되는 트리거가 실행 UserControl_ButtonClick
됩니다.
사용자 제어 :
public event EventHandler ButtonClick;
protected void Button1_Click(object sender, EventArgs e)
{
//bubble the event up to the parent
if (this.ButtonClick!= null)
this.ButtonClick(this, e);
}
형태:
UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);
protected void UserControl_ButtonClick(object sender, EventArgs e)
{
//handle the event
}
매핑 해보십시오. 이 코드를 귀하의 UserControl
:
public event EventHandler ValueChanged {
add { numericUpDown1.ValueChanged += value; }
remove { numericUpDown1.ValueChanged -= value; }
}
그러면 일반적으로 컨트롤 과 함께 표시 UserControl
되는 ValueChanged
이벤트가 표시됩니다 NumericUpDown
.
이렇게 할 수 있습니다 ..... 아래 예제는 텍스트 상자 (사용자 제어) 값이 변경된 것을 보여줍니다.
// Declare a delegate
public delegate void ValueChangedEventHandler(object sender, ValueChangedEventArgs e);
public partial class SampleUserControl : TextBox
{
public SampleUserControl()
{
InitializeComponent();
}
// Declare an event
public event ValueChangedEventHandler ValueChanged;
protected virtual void OnValueChanged(ValueChangedEventArgs e)
{
if (ValueChanged != null)
ValueChanged(this,e);
}
private void SampleUserControl_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
int value;
if (!int.TryParse(tb.Text, out value))
value = 0;
// Raise the event
OnValueChanged( new ValueChangedEventArgs(value));
}
}
쉬운 방법 중 하나는 다음과 같은 문제없이 landa 함수를 사용하는 것입니다.
userControl_Material1.simpleButton4.Click += (s, ee) =>
{
Save_mat(mat_global);
};
반응형
'UFO ET IT' 카테고리의 다른 글
TTS (텍스트 음성 변환)-Android (0) | 2020.12.06 |
---|---|
Android에서 애플리케이션 설치 날짜 가져 오기 (0) | 2020.12.06 |
http와 https의 차이점 (0) | 2020.12.04 |
더 빠릅니다 : 컬렉션을 지우거나 새로 인스턴스화 (0) | 2020.12.04 |
css3 키 프레임 애니메이션을위한 SASS (SCSS 아님) 구문 (0) | 2020.12.04 |