我在c#中創建了一個winform,我在頁面和另一個控件上有3個控件,並以編程方式在其中一個原始控件上創建。這不是渲染,所以我改變了其他控件的背景顏色(它們都是明亮的顏色開始),當我運行應用程序時,變化沒有發生,我匆匆過去,看不到我是什麼做錯了。誰能幫忙?Winform not rendering control alterations
更新: *我已設置位置,大小和名稱,但它沒有區別。 *奇怪的是,當我把它放在沒有參數的構造函數中時,它工作正常。這似乎與第二個構造函數中的代碼有關(它確實在兩個構造函數中都運行了代碼)。
感謝薩拉:)
GameForm.cs
namespace Hangman
{
public partial class GameForm : Form, IGameView
{
public GameForm()
{
InitializeComponent();
}
public GameForm(Game game) : this()
{
wordToGuessControl = new WordToGuessControl(game.Level);
new GamePresenter(this, wordToGuessControl, hangmanControl);
}
}
WordToGuessControl.cs
namespace Hangman.UserControls
{
public partial class WordToGuessControl : UserControl, IWordToGuessView
{
private string _word;
public WordToGuessControl()
{
InitializeComponent();
}
public WordToGuessControl(Level level) : this()
{
_word = GenerateWord(level);
foreach (var character in _word)
{
var characterInWord = new RenderLetterControl();
characterInWord.Location = new Point(0, 0);
characterInWord.Name = character.ToString();
characterInWord.Size = new Size(50,50);
characterInWord.Text = "_";
Controls.Add(characterInWord);
}
}
private string GenerateWord(Level level)
{
return new WordGenerator().GenerateWord(level);
}
}
RenderLetterControl.cs
namespace Hangman.UserControls
{
public partial class RenderLetterControl : Label
{
public RenderLetterControl()
{
InitializeComponent();
Text = "_";
}
public RenderLetterControl(char character): this()
{
string characterGuessed = character.ToString();
}
}
}
沒有任何代碼,幾乎不可能回答這個問題。請嘗試發佈一個簡短但完整的程序來演示問題。 – 2009-11-01 16:37:34
我會迴應Jon的評論,但如果出現可怕的錯誤,可能需要嘗試清理解決方案(手動如果需要) – Lee 2009-11-01 16:48:38
確保您的更改正在* .designer.cs文件中更新,而沒有任何代碼我們無法真正幫助你。 – 2009-11-01 16:55:56