일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 윈폼
- Git
- 로깅
- WinForm
- CheckAllChildNodes
- C#
- footer
- ejs
- sql 서버
- 하위노드
- SQL Server
- header
- 깃허브
- treeview
- json
- Compare
- SSMS
- 초기설정
- body
- html 코드
- 깜빡임
- checkbox
- MSSQL
- input
- jQuery
- nodejs
- github
- 한번에 체크
- 비교
- AfterCheck
- Today
- Total
반응형
목록개발/Winform (4)
타닥타닥 민타쿠
트리뷰의 자식 노드까지 전체 체크, 전체 체크해제 기능은 AfterCheck 이벤트를 통해 간단히 만들 수 있는데, 친절하게도 공식 문서의 TreeView.AfterCheck Event 페이지에 자식 노드의 체크 기능까지 같이 나와있다. 코드는 아래와 같다. // Updates all child tree nodes recursively. private void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked) { foreach(TreeNode node in treeNode.Nodes) { node.Checked = nodeChecked; if(node.Nodes.Count > 0) { // If the current node has child nodes,..
윈폼에서 제공해주는 트리뷰(TreeView) 의 체크박스를 더블클릭해보면 정상적으로 동작하지 않는 모습을 볼 수 있다. public class NewTreeView : TreeView { protected override void WndProc(ref Message m) { if (m.Msg == 0x203) { m.Result = IntPtr.Zero; } else base.WndProc(ref m); } } 이 때, Designer.cs 파일에 위와 같이 트리뷰를 상속받는 NewTreeView 클래스를 만들고 // this.treeView1 = new System.Windows.Forms.TreeView(); this.treeView1 = new SCL_Editor.Dialogs.AddFCDAForm..
결론부터 말하자면, 아래 클래스 저장 후 ObjectExtensions.Copy(객체) 의 형태로 쓰자. 깊은 복사가 된 객체를 반환 받을 수 있다. 다만 조금 느릴 수 있다. public static class ObjectExtensions // Deep Copy Class. Use 'ObjectExtensions.Copy(object)'. { private static readonly MethodInfo CloneMethod = typeof(Object).GetMethod("MemberwiseClone", BindingFlags.NonPublic | BindingFlags.Instance); public static bool IsPrimitive(this Type type) { if (type == ..
윈폼에서 보여지는 테이블에 행을 추가하는 등의 변경이 일어날 때, 굉장히 느리다. 표가 깜빡이면서 열심히 하나하나 그리는 것처럼 보이는데, 성능이 이렇게 안좋나 싶다. 테이블의 Visible 속성을 false 로 하고 작업 후 True 로 되돌려도 약간의 속도가 빨라진 기분만 들었다. 다행히 이것은 테이블을 중단시키고 변경 후 재개시키면 된다. table1.SuspendLayout(); // 테이블 행 추가 등의 변경 작업 table1.ResumeLayout(); 깜빡이던 것이 없어지고 속도가 훨씬 향상됐다. 20행 추가할 때 10초정도 걸리던 것이 2초정도로 줄었다. 이 정도면 쓸만한데.. 더 빨라졌으면 좋겠다.