2016-12-19 7 views
0

私は学校でプログラミングを学んだ頃、基本概念を学ぶためにパスカルを使いました。 今、C#を使用して、基本的だと思っていたものを解決しようとしていますが、解決策が見つかりません。.NETコンソールアプリケーションでの複数のスクロール "ウィンドウ"

私は出力に書き込むことができ、他のものに影響を与えずにこれらの「仮想ウィンドウ」または「エリア」内をスクロールしながら複数の「ウィンドウ」をコンソールに持っています。私はまた、コマンドの入力行が欲しいですが、私は達成するのが簡単だと思います。

例としては、チャットのための1つの領域、オンラインユーザーのための1つの領域、入力用の1つの領域があるIRCチャットなどがあります。

すべての「領域」を追跡し、多くのSetCursorPosition()を実行するクラスを作成する以外に方法はありますか?このために.netに何も組み込まれていないのですか?

+1

何も組み込まれていないので、このncursesポートを見てください:http://www.mono-project.com/docs/tools+libraries/libraries/monocurses/ –

+0

このようなものが.Netに組み込まれていれば驚くでしょうGUIアプリケーションでより簡単でより良い処理ができるように、コンソールの使用を無駄にすることを奨励します。 – grek40

+0

ありがとうございました!私はncursesポートを見ていきます。 – greatwhitehat

答えて

4

Consoleではカーソル位置を設定することができますが、インターフェイスは出力を「ダンプして忘れる」ように設計されています。他のユーザーがコンソールのサイズを変更すると、ユーザーインターフェイスが破損する可能性があります。

「panel2は」パネル1「内の別の SplitContainerを追加し、ユーザー
  • のために使用することができるSplitContainerを、追加
    • :Windowsでただし

      フォームアプリケーションを、あなたは簡単でIRCのようなインターフェースを得ることができます」、上と右のパネルにListBoxコントロールを追加Horizontal

    • Oritentationを設定し、追加Fill
    • Dockを設定

      enter image description here

      あなたがすることもできます:これは、すでにあなたがなりたい場所にかなり近いはず

    を「送信」するTextBox下部パネルに制御し、そのTextセットと、おそらくButton典型的なWinFormsコントロールが気に入らなければWPFで遊んでみましょう。でも、アイデアは同じです。

  • +0

    OK、私はそれを使用できるかどうかを確認するためにncursesを見ます。それ以外の場合は、コンソールアプリケーションのアイデアを保存してFormsに移動します。ありがとうございました! – greatwhitehat

    +0

    WinFormsに慣れていて、速い結果が必要な場合を除いて、私は常に新しいプロジェクトのためにWinFormsの上にWPFを推奨します。 – grek40

    関連する問題