C#에서는 _ResizeEnd 이벤트를 DataGridView 컨트롤에 추가하려고합니다. 나는 이것을 (사용자 컨트롤에 _ResizeEnd 이벤트를 추가 할 수 있도록) 도와주는 코드를 발견했다._Load 이벤트를 컨트롤에 추가하려면 어떻게해야합니까?
private void UserControl1_Load(object sender, EventArgs e)
{
((Form)this.Parent).ResizeEnd += new EventHandler(UserControl1_ResizeEnd);
}
void UserControl1_ResizeEnd(object sender, EventArgs e)
{
MessageBox.Show("Resize end");
}
앞서 언급했듯이, 나는 이것을 DataGridView에 추가하기를 원합니다. 내가 할 수있는 UserControl 만들고 DataGridView 컨트롤을 덤프 및 위의 코드에 따라 _ResizeEnd 이벤트를 구현하는 것입니다.
그러나 문제는 DataGridView의 모든 속성, 메서드 및 이벤트를 디자이너에서 계속 노출되도록하려는 것입니다. 나는 모든 get/set/events/methods 등을 쓰지 않고 부모 컨트롤에 자식 컨트롤 메서드를 노출하는 등의 쉬운 방법을 알지 못합니다.
변경할 수 있다고 생각했습니다. 공공 부분 클래스 MyDataGridView :로부터 상속 UserControl을 사람 : 공공 부분 클래스 MyDataGridView : DataGridView에 이것은 UserControl을에 노출 된 모든 DataGridView에 속성 등을 가지고있는 문제를 해결하지만, 물론이 나를 움직이지 않는
DataGridView 클래스 (UserControl 클래스와 달리)에는 _Load 이벤트가 없으므로 전달할 수 있습니다.
이렇게 .... 아무도이 문제를 해결하는 방법을 말해 줄 수 있습니까?
편집 : 그런데 ... 난 이해 서브 클래스가 될 것이라고 :
public partial class MyDataGridView : DataGridView
이 등등 된 DataGridView 속성을 노출 않지만, 나는 잃을 : 더 _load 이벤트가 없음을 의미 UserControl을 상속 드러난.
내가 UserControl을 속성/방법과 DataGridView에 속성 등
당신이 여기처럼, 당신은 ParentChanged 이벤트가 아닌로드 이벤트를 원하는 부모에 대해 알고 싶다면 다음과 같습니다. 문제 해결됨. –