C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: キー入力の処理について教えてください。


(過去ログ 77 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■45410 / inTopicNo.1)  キー入力の処理について教えてください。
  
□投稿者/ roriko-n (1回)-(2010/01/12(Tue) 16:12:25)

分類:[C#] 

入力されたキーによって分岐するにはどのようにすればよいのでしょうか。
例)
if(yキーが押された)
{
Console.WriteLine("続けます");
}
else if(nキーが押された)
{
Console.WriteLine("終了します");
}
else
{
Console.WiteLine("入力エラー");
}

このような形にしたいのですがキー判定がわかりません。誰か教えてください。
引用返信 編集キー/
■45412 / inTopicNo.2)  Re[1]: キー入力の処理について教えてください。
□投稿者/ .SHO (1110回)-(2010/01/12(Tue) 16:22:28)
No45410 (roriko-n さん) に返信

> if(yキーが押された){
>   Console.WriteLine("続けます");
> }
> else if(nキーが押された){
>   Console.WriteLine("終了します");
> }
> else{
>   Console.WiteLine("入力エラー");
> }
> 
> このような形にしたいのですがキー判定がわかりません。誰か教えてください。

ポーリングしたいわけではないですよね?
キー入力のイベントを勉強してください。

引用返信 編集キー/
■45416 / inTopicNo.3)  Re[2]: キー入力の処理について教えてください。
□投稿者/ みきぬ (699回)-(2010/01/12(Tue) 17:14:36)
作ろうとしているものは、次のうちどれ?

・Windows フォームアプリ
・Web アプリ
・コンソールアプリ
引用返信 編集キー/
■45417 / inTopicNo.4)  Re[3]: キー入力の処理について教えてください。
□投稿者/ roriko-n (2回)-(2010/01/12(Tue) 17:21:23)
No45416 (みきぬ さん) に返信
> 作ろうとしているものは、次のうちどれ?
>
> ・Windows フォームアプリ
> ・Web アプリ
> ・コンソールアプリ
はい、私が作ろうとしているのはコンソールアプリケーションです。
引用返信 編集キー/
■45421 / inTopicNo.5)  Re[4]: キー入力の処理について教えてください。
□投稿者/ みきぬ (700回)-(2010/01/12(Tue) 18:56:42)
例えばこんな感じ。

Console.Write("Continue?(y/n): ");
string line = Console.ReadLine();

switch (line)
{
    case "y":
        Console.WriteLine("続けます");
        break;
    case "n":
        Console.WriteLine("終了します");
        break;
    default:
        Console.WriteLine("入力エラー");
        break;
}

Enterキーの入力がいらないのであれば、Console.ReadKey() あたりをかわりに。

引用返信 編集キー/
■45424 / inTopicNo.6)  Re[5]: キー入力の処理について教えてください。
□投稿者/ roriko-n (3回)-(2010/01/12(Tue) 19:27:01)
>Enterキーの入力がいらないのであれば、Console.ReadKey() あたりをかわりに。

string start = Console.ReadKey();
このようにすると、
型 'System.ConsoleKeyInfo' を型 'string' に暗黙的に変換できません。
とエラーが出てしまいました…

引用返信 編集キー/
■45425 / inTopicNo.7)  Re[6]: キー入力の処理について教えてください。
□投稿者/ .SHO (1112回)-(2010/01/12(Tue) 19:40:13)
No45424 (roriko-n さん) に返信

> >Enterキーの入力がいらないのであれば、Console.ReadKey() あたりをかわりに。
>
> string start = Console.ReadKey();
> このようにすると、
> 型 'System.ConsoleKeyInfo' を型 'string' に暗黙的に変換できません。
> とエラーが出てしまいました…

だったら、Console.ReadKey が何を返すのか調べればいいじゃん。
まぁ、エラーメッセージに答え出てるけど。
'System.ConsoleKeyInfo' を返す。
そしたら次に、'System.ConsoleKeyInfo' の型を調べる。
引用返信 編集キー/
■45427 / inTopicNo.8)  Re[7]: キー入力の処理について教えてください。
□投稿者/ roriko-n (4回)-(2010/01/12(Tue) 19:52:49)
ConsoleKeyInfo start = Console.ReadKey();
switch (start.Key)
{
case ConsoleKey.Y:
Console.WriteLine("続けます");
break;
case ConsoleKey.N:
Console.WriteLine("終了します");
break;
default:
Console.WriteLine("入力エラー");
break;
}

これでできました!SHOさん、みきぬさんありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -