VB.NET(20)
-
VB.NET DataGridView 속도개선하기 (DoubleBuffered 이용)
DataGridView에 Cell Style도 넣고 Border, HeaderAutoSize 등등등 DataGridView에 많은 Style을 지정하고 나서 스크롤을 하는데 눈에 보일 듯한 정도의 버벅임이 생기더라고요 ... 이걸 해결하는 방법은 아래 사이트에 코드를 참고해서 작성하시면 되는데 Control의 Hidden Property인 DoubleBuffered를 Custom하여 Enable 할 수 있습니다. 출처 : https://www.codeproject.com/Tips/1111155/Enable-DataGridView-DoubleBuffered-Property DataGridView를 상속한 Class 생성 Public Class DataGridViewDoubleBuffer Inherits..
2020.04.10 -
VB.NET Linq를 이용하여 DataTable에서 일치하는 항목 출력하기
예를들어 위와 같은 table이 있다고 치면 AAA를 선택했을 때 AAA에 딸려있는 하위 목록들을 불러오고 싶을 때 여러가지 방법들이 있지만 Linq를 이용하여 작업을 했다. Private Sub test() If Not (_info_db Is Nothing) Then '// Column1 의 AAA라는 값과 일치하면 '// AAA와 일치하는 Column2의 값들을 Select 한다. Dim query = From r In _info_db Where r.Field(Of String)("Column1") = "AAA" Select New With { .tablesName = r.Field(Of String)("Column2") } Dim tmpDt As DataTable = New DataTable '..
2020.04.10 -
VB.NET <TreeListView> 원하는 level 접기/펴기
Private Sub ExpandCollabButtonClick(sender As Object, e As EventArgs) Handles btn_collab.Click, btn_expand.Click If TryCast(sender, Control).Name = "btn_collab" Then ' 접기버튼이라면 TreeViewExpand(trv_Model.Nodes, 4, False) Else ' 펼치기라면 TreeViewExpand(trv_Model.Nodes, 4) End If End Sub Private Sub TreeViewExpand(nodes As WinControls.ListView.Collections.TreeListNodeCollection, level As Integer, Option..
2020.04.09 -
VB.NET 버튼 애니메이션 Timer로 간단하게 하기 (Button Animation) / Timer 사용법
VB.NET Public Sub New() InitializeComponent() Timer1.Interval = 600 End Sub Private Sub when_lstbox_addeditem(sender As Object, e As EventArgs) Handles lst_up.MouseHover If lst.Items.Count > 0 Then ' ListBox에 아이템이 있으면 깜빡거리기 Timer1.Enabled = True Else Timer1.Enabled = False End If End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick If btn_ex_up.BackColor = Color...
2020.02.21 -
<TreeListView> Node Drag And Drop
TreeListView Property 변경 AllowDrop = True AllowDefaultDragDrop = True ItemDragEventArgs Private Sub treeView_ItemDarag(sender As Object, e As ItemDragEventArgs) Handles trv_Model.ItemDrag If e.Button = MouseButtons.Left Then DoDragDrop(e.Item, DragDropEffects.Move) End If End Sub ItemDragEventArgs Private Sub Drag_n_Drop_Functions(sender As Object, e As ItemDragEventArgs) Handles trv_Model.ItemD..
2020.02.12 -
VB.NET 다른 폼의 쓰레드를 나의 UI에 접근하기
Cross Thread 처리하기 Winform 작업할 때 Thread를 이용하여 UI에 접근할려고하면 발생하는 오류가 바로 크로스쓰레드 오류이다. 이럴 때 가단하게 처리할 수 있는 코드를 올림. 변수에 Control들의 값을 넣을 때 If cbDomain.InvokeRequired Or cbProject.InvokeRequired Then Invoke(Sub() _domain = cbDomain.Text _project = cbProject.Text End Sub) Else _domain = cbDomain.Text _project = cbProject.Text End If 컨트롤에 값을 할당하거나 할 때 If (ListView1.InvokeRequired) Then ListView1.Inv..
2019.12.31