2016-06-06 3 views
0

하나의 변수에서 설정된 값을 텍스트 상자로 전달하려면 어떻게해야합니까? winforms에서는 form1.textbox1.text = variable을 winforms에 사용했습니다.하나의 창에서 다른 창으로 값을 전달하는 방법

나는 창 ... 사용자가 변수를 선택해야, 기본적으로 ...

Public Shared Property containerstring() As String 
     Get 
      Return m_containerstring 
     End Get 
     Set(value As String) 
      m_containerstring = value 
     End Set 
    End Property 

    Private Shared m_containerstring As String 

을 설정하고이에서 변수를 얻을,이 변수는 containerstring @ 설정됩니다. 이 양식이 닫히면이 변수를 현재 열려있는 창의 텍스트 상자로 푸시합니다.

저는 WPF를 처음 접하며 noobness를 용서합니다.

이것은 창문에서하는 방법이며, 창문에서는 완벽하게 작동합니다. 나는 컨트롤을 가지고 똑같은 일을 할려고한다.

Dim strWindowToLookFor As String = GetType(MainWindow).Name 

      Dim win = (_ 
        From w In Application.Current.Windows _ 
        Where DirectCast(w, Window).GetType.Name = strWindowToLookFor _ 
        Select w _ 
       ).FirstOrDefault 
      If win IsNot Nothing Then 
       DirectCast(win, MainWindow).Title = SelectedContainer 
      End If 
+0

데이터가 나는 비주얼 베이직을 모르는 얻을 수 있지만, 기본적으로 당신이 당신의 App 개체에 이벤트를 정의 할 수 있습니다. 창 하나가 이벤트에 가입하고 창 2는 원하는 값이나 객체를 전달하여 이벤트를 발생시킵니다. – Sam

답변

0

당신은 창 닫는 이벤트처럼 만들 수 있습니다 this.Closed += MyWindow_Closed; 다음 대응하는 방법에 변수를 설정하십시오.

private void MyWindow_Closed() 
{ 
    TextBox1.Text = a; 
} 
0

Prism.Events에서 사용할 수있는 PubSubEvent를 사용할 수 있습니다. 이렇게하면 이벤트를 구독 할 수 있습니다.

Using Prism.Events; 

이벤트를 정의하십시오. 첫 번째 창 또는 코드에서

public class MyEvents : PubSubEvent<object> 
    { 
    public MyEvents(); 
    } 

[Import] 
    public IEventAggregator EventAggregator 
    { 
     get; 
     set; 
    } 

뒤에 당신은 당신이 보낼 원하는 값을 보낼 수있는 프로그램이 속성을 사용할 수 있습니다. 당신이이 같은 프로그램의 다른 부분에서 같은 이벤트를 구독 할 수 있습니다 publised되면 예를

private void MyWindow_Closed() 
{ 
    MyEvents myEvents = EventAggregator.GetEvent<MyEvents>(); 
    myEvents.Publish(yourvalue); 
} 

를 들어
.

MyEvents myEvents = EventAggregator.GetEvent<MyEvents>(); 
    myEvents.Subscribe(MyEventMethod, ThreadOption.UIThread, true); 

내가 너무 많은 도움이 질수 있도록 여기

void MyEventMethod(object obj) 
    { 
    // do wharever you want 
    } 
관련 문제