orion-muf / KHU-2017-2-DesignD

0 stars 0 forks source link

c# wfp #7

Open muf opened 6 years ago

muf commented 6 years ago

From @muf on November 8, 2017 3:41

https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.itemactivate(v=vs.110).aspx

Copied from original issue: muf/Junghyun.Park#59

muf commented 6 years ago

message box

https://msdn.microsoft.com/ko-kr/library/0x49kd7z(v=vs.110).aspx

muf commented 6 years ago

?? 타입이 box vs view 라서 안된다고?

난 분명 MyListView를 ListView 타입으로 만들었는데 items하면 box라고 명시적 어쩌구 타입 어쩌구 워닝;

  private void OnDoubleClickHandler(object sender, RoutedEventArgs e)
        {
            string msg ="";
            msg = sender.ToString();
            msg += " / ";
            msg += MyListView.SelectedItem;
            MessageBox.Show(msg);
            ListViewItem item = MyListView.SelectedItems[0];
        }
    }
}
muf commented 6 years ago

?? event customize 가 가능한가?

https://stackoverflow.com/questions/3041069/add-event-handler-for-listview-items-added

muf commented 6 years ago

c# add handler

https://msdn.microsoft.com/ko-kr/library/ms598899(v=vs.110).aspx

내가 생각하는 건 위에 것이 아닌듯.. 아래 내용인듯

http://ehpub.co.kr/windows-forms-%EC%9D%91%EC%9A%A9-with-c-2-1-%EB%8F%99%EC%A0%81%EC%9C%BC%EB%A1%9C-%EB%B2%84%ED%8A%BC-%EC%83%9D%EC%84%B1-%EC%8B%A4%EC%8A%B5/

muf commented 6 years ago

delegate class 이해 필요해 보임

https://msdn.microsoft.com/ko-kr/library/system.delegate(v=vs.110).aspx

muf commented 6 years ago

item 자체에 이벤트 핸들러 등록해서 push해보자


            if(testData != "")
            {
                Label label = new Label();
                label.Content = comment;
                label.MouseDoubleClick += new MouseButtonEventHandler(OnDoubleClickHandler);
                ListBoxItem item = new ListBoxItem();
                item.Content = comment;
                item.MouseDoubleClick += new MouseButtonEventHandler(OnDoubleClickHandler); 

                MyLabel.Content = comment;
                MyTextBox.Clear();
                comments.Add(comment);

위와 같이 label로 만들수도 있지만 그럴 경우 정확하게 라벨을 선택해야 하는 문제가 있음. 따라서 ListBoxItem 타입으로 만들어서 넣으면 될듯. 만약 내부에 데이터를 더 심어놓고 싶다면 상속받아서 새로 class 선언 후 사용하면 될 것 같다