C#WPFプロジェクトにテキストボックスがあり、Enterキーを押すと、テキストボックスに入力された値を次の関数の変数に送信したいと思います。
テキストボックスからのユーザー入力は別の関数に含める必要がありますか、それとも値を送信したい同じ関数内に含めることができますか?
private void UserInput(object sender, KeyEventArgs e)
{
Point p1 = new Point();
TextBox textBoxX = new TextBox();
if (e.Key == Key.Enter)
{
double inputAsNumberX = 0.0000;
if (double.TryParse(textBoxX.Text, out inputAsNumberX))
{
p1.X = inputAsNumberX;
}
else
{
MessageBox.Show("This is not a number.");
}
}
else
{
}
double inputAsNumberY = 0;
TextBox textBoxY = sender as TextBox;
while (textBoxY.Text == null)
{
//textBoxY = sender as TextBox;
}
if (double.TryParse(textBoxY.Text, out inputAsNumberY) == true)
{
p1.X = inputAsNumberY;
}
else
{
MessageBox.Show("This is not a number.");
}
}
xamlコード
<TextBox Name="TextBoxX" TextWrapping="Wrap" MaxLength="32" KeyDown="UserInput" />
更新:私が質問している奇妙なことは、(デバッグ中に)何かを入力しようとすると、何も入力できなくなることです。コードを実行し、もう一度入力しようとすると、1文字(数字など)を入力できるようになり、それ以上入力できなくなります。
また、コードの実行後にテキストボックスに入力された新しい文字のみが表示されるようです。
コードを修正して、値を入力し、Enterキーを押すと、値が関数に送信され、double変数に設定されます。inputAsNumberX???
更新2:使用しているコードで更新しました。2つの入力を取得しようとしているので、2つのテキストボックスを設定します。どちらも私が上で尋ねたのと同じことをするはずです。