2017-05-12 9 views
0

実際にGUI要素を使用する必要があるコンソールアプリケーションを作成しています。Windowsフォーム:フォームを作成せずにリストから選択

特に、文字列のリストから1つの文字列を選択することは、GUIを使用して実行する必要があります。

public static string SelectString(List<string> strings) 
{ 
    string selectedString; 

    // GUI part 

    return selectedString; 
} 

それはFolderBrowserDialogを使用してのような方法でそれを行うことが可能である:それはのようなものである必要がありますか?例えば、私は、フォルダを選択するには、次のコードを使用しています:

public static string SelectFolder(string description) 
{ 
    using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) 
    { 
     folderBrowserDialog.Description = description; 

     return folderBrowserDialog.ShowDialog() == DialogResult.OK 
      ? folderBrowserDialog.SelectedPath 
      : null; 
    } 
} 

を私はListBoxの承知しているが、それは、フォームを作成する必要があります。

アイデア?

+0

実行時に動的にフォームを作成できます。 –

+0

@RezaAghaei私は参照してください、しかし、私は次元、位置と他のすべてのものを設定する必要があります。 'FolderBrowserDialog'や' OpenFileDialog'のような軽量なものを使いたいです。または私は間違っていますか? – DfM

+0

@DfMあなたが正しいです、いくつかの項目を設定する必要があります。私はあなたが欲しいものを行うアイテムが内蔵されているとは思わない。それが本当にシンプルなフォームなら、それほど難しくはありません。 – MikeH

答えて

1

コード内に直接フォームを作成することができます。ここには非常に簡単な例があります。おそらくOKボタンを追加したいと思うでしょう。あなたのコンソールアプリケーションにFormを追加して、ちょうどフォームを呼び出すことができコーディングハード避けるため

Form frm = new Form(); 
ListBox listbox1 = new ListBox(); 
frm.Controls.Add(listbox1); 
listbox1.Dock = DockStyle.Fill; 
frm.ShowDialog(); 

int selectedIndex = listbox1.SelectedIndex; 

:この場合

Form1 frm = new Form1(); 
frm.ShowDialog(); 

あなたがpublicにごListBoxModifierプロパティを設定することもできますダイアログが閉じた後にアクセスすることができます。

+0

ありがとうございます。今私は考えを得るようです。 – DfM

関連する問題