![](/img/trans.png)
[英]C#, WinForm: cannot set designer-created-control with code-created control
[英]Visual Studio C# Winform Designer is creating strange code for control members?
謝謝大家的寶貴時間。
我正在使用C#.Net 4.0和Visual Studio 2010 Professional。 我在表單上有幾個按鈕,一個richtextbox和一個splitcontainer。 這里沒有很多代碼,並且目前還沒有做很多事情。 解決方案中有兩個項目:分別稱為MyProject和MySupportProject。 該表單位於MyProject項目中。
每當我嘗試運行程序時,都會遇到兩個錯誤:
'MySupportProject.Properties.Resources' is inaccessible due to its protection level
'MySupportProject.Properties.Resources' does not contain a definition for String1'
因此,我來看一下設計師,由於某種原因,它會繼續填寫以下內容:
this.rtbStatus.Text = global::MySupportProject.Properties.Resources.String1;
而且我不知道為什么。 我刪除它或注釋掉它,並不斷生成該行。 表單中的RTB(RichTextBox)沒有與之關聯的文本。
在解決方案屬性中,MySupportProject被列為MyProject的依賴項,但是我一輩子都無法弄清楚它試圖對具有特定非可見字符串的特定RichTextBox做什么。 我仔細研究了MySupportProject中的資源,並找到了定義:
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string String1 {
get {
return ResourceManager.GetString("String1", resourceCulture);
}
}
看起來上面的定義是由某種工具生成的,但是我真的不確定它來自哪里。 有人在我之前從事過該項目,因此他們可以將其放入,但是我從頭開始創建表單,但沒有建立連接。 有沒有人遇到過類似的問題? 如果沒有,還有什么我應該嘗試阻止這種煩人的偶爾的構建失敗嗎? 感謝你的幫助!
我不完全知道這背后的原因,但是您可以使用以下代碼替換該行:
this.rtbStatus.Text = "";
要么:
this.rtbStatus.Text = null;
另外,請嘗試刪除您的字符串資源。 如果無法執行此操作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.