2017-10-17 1 views
-4

コンソールで画像ボックスを起動する方法は? pictureboxは終了してもコンソールはまだバックグラウンドにとどまっていますか?コンソールで画像付きのpctureboxを開きます

namespace DisplayImage 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

    PictureBox p =new PictureBox(); 
    p.ImageLocation = "1.jpg" 
    p.Location = new Point(100, 75); 
     } 
    } 
} 

エラーが発生しました。それはWindowsフォームでのみavaiable画像ボックスですか? Windowsフォームでのみ利用可能

+0

Pictureboxはwinformsコントロールでも、コントロールをフォームに追加する必要があります(フォームを追加しないで作成するだけです)フォームには、this.Controls.Add (p); ' – EpicKip

+0

@EpicKipは、起動時と終了時にピクチャボックスを開くことはできますが、コンソールはバックグラウンドにしておきますか? – Nichie

+0

フォームボックスに絵文字と枠線を持たないwinformsプロジェクトを作成してください(pictureboxは完全なフォームサイズです)。コンソールコードからフォームを開き、x秒後に閉じる(ロジックを追加してください)。 – EpicKip

答えて

0

のPictureBoxは、ウィンドウコントロール(GUIエレメント)です - あなたはのSystem.Windows.Formsへの参照を追加する場合にのみ、それが利用可能です。 さらに、そのアセンブリを追加しても、PictureBoxが単なるコントロールであるため上記のコードは機能しません。表示するにはコンテナ(フォーム)に配置する必要があります。

あなたはコンソールから画像ビューアなどを作成しようとしているようです。必要なことをするためのよりよい方法があるかもしれません。

コンソールアプリケーションにコマンドライン引数としてimage/pictureへのパスを渡して、そのアプリケーションを起動しますか?あなたが達成したいことを精緻化し、アドバイスをより良くすることができるかもしれません。

+0

私はwindows.formへの参照を追加します。その意味私は右コンソールでpictureboxを起動できますか?どのようにこれを達成する。このイベントは、他のコードが実行される前のトップコードです。 – Nichie

+0

写真ビューアのようなものですが、ボタンコントロールはありません。そのちょうど3秒を表示して終了します。コンソールとしてバックグラウンドにしておきます。 – Nichie

0
using System; 
using System.Windows.Forms; 

namespace SampleViewer 
{ 
    class Program 
    { 
     [STAThread] 
     static void Main(string[] args) 
     { 
      string imagePath = args[0]; 

      Form sampleForm = new Form(); 
      PictureBox pctBox = new PictureBox(); 
      pctBox.ImageLocation = imagePath; 
      pctBox.Dock = DockStyle.Fill; 
      sampleForm.Controls.Add(pctBox); 
      sampleForm.ShowDialog(); 

      Console.ReadLine(); 
     } 
    } 
} 

これは画像を表示するのに役立ちます。 3秒後にフォームを非表示にするための追加ロジックを記述する必要があります。