2014-09-27 8 views
-1

BL 클래스의 속성이 변경되면 UI를 업데이트하려고합니다. 제발 누군가가 vb.net에서이 작업을 수행하는 가장 좋은 방법을 조언 할 수 있습니다속성 변경시 UI 업데이트 방법

+0

어떤 일이 일어나고 있는지 또는 어떤 일이 일어나지 않았는지 보여주고이 일이 무엇인지 설명해주세요. 맞춤 컨트롤? 사용자 제어? 계승 된 통제? 표준 제어? – Plutonix

+0

SQL 백업을 실행하고 SqlInfoMessage를 사용하여 전체 인쇄 메시지 백분율을 얻습니다. 이 시점에서 필자는 클래스의 public 속성을 업데이트하여 UI의 텍스트 상자 값을 원합니다. 그러나 빈 텍스트 상자에서 백업 인쇄 메시지의 전체 출력으로 이동하는 대신 속성이 변경되는 즉시 UI를 업데이트하는 방법을 모르겠습니다. – DevPenguin

+0

'myTextBox.Text = someTextToShow'가 작동하지 않으면 코드를 공유해야합니다. 그것이 어떤 루프에있는 경우 Windows는 각 업데이트를 수행하지 않으며 오히려 진행률 표시 줄에 대한 것입니다. – Plutonix

답변

0

정말 정확한 질문이 아니므로 표준 방법 (내 생각에) 설명합니다.

클래스에 INotifyPropertyChanged 인터페이스를 구현하고 객체의 PropertyChanged 이벤트를 처리하십시오.

문제의 속성을 포함하는 객체의 클래스 첫번째 다음 PropertyChanged 이벤트가 속성 값이 변경되면 발생한다는

Public Class MySweetClass 
    Implements System.ComponentModel.INotifyPropertyChanged 

    Private _MyProperty As String 
    Public Property MyProperty As String 
     Get 
      Return _MyProperty 
     End Get 
     Set(value As String) 
      _MyProperty = value 
      RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs("MyProperty")) 
     End Set 
    End Property 

    Public Event PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged 
End Class 

알 수 있습니다. 이것은 당신이 때마다 값이 변경 GUI를 업데이트 할 수 있습니다

Public Class Form1 
    Private WithEvents MySweetObject As MySweetClass 

    Private Sub MySweetObject_PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Handles MySweetObject.PropertyChanged 
     'Update gui here 
    End Sub 
End Class 

: 양식에서

이 이벤트를 처리합니다.

+0

도움을 주셔서 감사합니다. 앞으로 더 많은 정보를 제공해 드리 겠지만 치료법이 효과가 있습니다! – DevPenguin

관련 문제