2017-04-08 102 views
0

是否可以在同一解決方案中使用Project2更新Project1的UI?我設法運行並使用Project2訪問Project1中的類,但不控制。到目前爲止,我試過的FF:在1個解決方案中更新其他項目的UI

在PROJECT1 Loaded()事件:

Dim newMenu As MenuItem 
    newMenu = New MenuItem() 
    newMenu.Header = "This is new" 
    newMenu.Tag = "1" 
    AddHandler newMenu.Click, New EventHandler(AddressOf menuClick) 
    myMenu.Items.Add(newMenu) 

menuClick()

Private Sub menuClick(sender As Object, e As RoutedEventArgs) 
    If sender.Tag = "1" Then 
     Dim progTag As Integer = Integer.Parse(sender.Tag) 
     Dim restriction = (From x In localdb.Restrictions 
          Where x.Username = "oliverc" Where x.Program_ID = progTag 
          Select x.Module_ID) 

     If restriction.Count > 0 Then 
      For Each ListItem In restriction.ToList 
       restrict.Add(New Project2.Restrictions() With {.RestrictionTag = ListItem.ToString}) 
      Next 
     End If 

     For Each ListItem In restrict 
      MessageBox.Show(ListItem.RestrictionTag(0)) 
     Next 



     Dim frm As Project2.MainWindow = New Project2.MainWindow() 
     frm.ShowDialog() 

    End If 
End Sub 

Project2中Loaded()

For Each ListItem In listOfRestriction 
     Select Case ListItem.ToString 
      Case "1" 
       btn_addRegion.IsEnabled = False 
     End Select 
     MessageBox.Show(ListItem.ToString) 
    Next 

回答

0

簡短的回答:

長答案:

每個項目將被編譯爲獨立的.exe或.dll。即使目前您嘗試這樣做的方式是可能的,Project2 -exe也不可能知道它應該修改的Project1的哪個實例(如果有的話)。

爲了與其他exe進行通信,您需要實現Interprocess communication。那麼你必須有Project1自己改變每當它被告知這樣做Project2

有些類型的IPC可以使用:

相關問題