私はちょっとジャムに陥りました。私はアプリ全体にアルファベットをコーディングしようとしたので、文字を1つずつ入力するような気がしなかったので、ASCII文字を使用してforループを使用してボタンとして挿入しました。だから、今私は自分のニーズに応じてクリックするためのボタンが必要ですが、どういうわけか、問題の原因を突き止めるようです。コードは以下の通りです:ボタンクリックアクションは、自分自身に割り当てられているメソッドを登録しません。
private void Hangman_OnLoaded()
{
const int btnSize = 35;
var c = 0;
for (var i = 65; i <= 90; i++)
{
var btn = new Button {
Content = (char) i,
Click += GuessClick()
};
btn.Width = btn.Height = btnSize;
var margin = btn.Margin;
margin.Left = c += 37;
btn.Margin = margin;
GridMain.Children.Add(btn);
}
}
private void GuessClick(object sender, EventArgs e) {
var choice = sender as Button;
if (choice == null || !copyCurrent.Contains(choice.DataContext.ToString())) return;
var temp = copyCurrent.ToCharArray();
var find = copyCurrent.ToCharArray();
var guessChar = choice.DataContext.ToString().ElementAt(0);
for (var index = 0; index < find.Length; index++) {
if (find[index] == guessChar) {
temp[index] = guessChar;
}
}
copyCurrent = new string(temp);
DisplayTheWord();
}
正確には動作していないものは不明です。あなたの 'GuessClick'メソッドが呼び出されていませんか?あなたが見ていないことを期待している副作用はありますか?あなたはデバッガに接続して何かを検証しましたか?何が機能していないのかを明確にしてください。 – pstrjds
_これで私のニーズに合わせてボタンをクリックする必要がありますが、何とか問題の原因を突き止めるようです._ ...あなたはそのコードで何を達成しようとしているのか教えてください、**、**現在行われていること、または現在行われていないこと。 –