兩年前,我使用Visual Studio 2010開發了Winforms C#應用程序(目標框架:.NET Framework 4客戶端配置文件)。在不同的.NET框架中使用Tabcontrol問題
此應用程序有一個Form1:Form,INotifyPropertyChanged帶有tabcontrol的tabcontrol。我綁定了我的窗體的自定義屬性,這些窗體是在構造窗體時不可見的標籤頁上的控件。綁定是這樣的:
BindingSource BndFrom1 = new BindingSource();
BndFrom1.DataSource = typeof(Form1);
BndFrom1.Add(this);
TxtTemperature.DataBindings.Add("Text", BndFrom1, "TemperatureString", true, DataSourceUpdateMode.OnPropertyChanged);
這工作正常。在使用.NET Framework 4.6切換到Windows 10後,應用程序突然不能正常工作,切換到另一個頁面時,應用程序變慢或卡住了。如果我改變了標籤頁的順序,它總是第一個正常工作的標籤頁。 我試圖「力」 Form1中通過調用
private static void CreateControls(Control control)
{
CreateControl(control);
foreach (Control subcontrol in control.Controls)
{
CreateControl(subcontrol);
}
}
private static void CreateControl(Control control)
{
var method = control.GetType().GetMethod("CreateControl", BindingFlags.Instance | BindingFlags.NonPublic);
var parameters = method.GetParameters();
method.Invoke(control, new object[] { true });
}
所有的TabPages
創建invissible控制,但這並沒有工作。
當我通過控制頁面上的控件刪除所有數據綁定後,問題就解決了。
我有我的應用程序的第一個版本,與數據綁定,仍然在Windows 7 PC上運行propper。但是在.NET Framework 4.7的更新之後,它遇到了同樣的問題,並且在安裝新版本的應用程序後,它不見了。
這是一個已知的問題,如果有,是否有解釋和解決方案?有沒有人有更好的解決方案,我可以繼續使用綁定?
由於提前,
ELEC