2017年7月30日日曜日

【C# テキスト表示】ラベルやメッセージボックスに表示するテキストを改行する

<やりたいこと>
メッセージボックスやラベルに改行文字を表示する。
ついでにメッセージボックスに「はい」「いいえ」

<サンプルソース C#>
string s = "1行目\r\n2行目";
if(MessageBox.Show(s,"TEST",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
 //YESの処理
}else{
 //NOの処理
}


<メモ>
改行した文章を表示させるにはテキストの途中で\n\rを入れれば良いだけ。

2017年6月26日月曜日

【C# ComboBox】ComboBoxでEnterイベント検知

<やりたいこと>
ComboBoxに入力したテキストをEnter入力でイベントに使用する。


<サンプルソース C#>
e.KeyCode == Keys.Enter がEnterを認識。Keys.Enterを変更すれば、
他のキーにも対応が出来そう。

        private void OnKeyDownHandler(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Enter){
                string str = comboBox1.Text;
                listBox1.Items.Add(str);
            }
        }

<デザイン部分>
ComboBoxを選択して、プロパティ → イベント 内の"キー"の部分の
"KeyDown"へ上記メソッド名を記載します。

上から順に優先順位が高いとのこと。

【C# ComboBox】ComboBoxの項目を変更した時のイベントを処理する

<やりたいこと>
ComboBoxに登録されている項目を選択すると、それに応じたイベントを発生させる。

 

<サンプルソース C#>
この辺はちょっと調べれば出てくると思います。
と、言うかこのコード自体はあまり重要じゃないです。

        private void ComboBox1_TextChanged(object sender, EventArgs e)
        {
            listBox1.Items.Add(comboBox1.Text);
        }

<デザイン部分>
ComboBoxを選択して、プロパティ → イベント 内の動作の部分に
"SelectedIndexChenged"へ上記のメソッド名を記載します。


ComboBoxが変更された時に発生するイベントの登録場所と思っておけば良いと思う。




2017年6月21日水曜日

Visual Studio 2017を使用してC#を使用した普通のWindowsアプリを作る

Visual Studioを実行すると以下の画面が出力されます。
その中から新しいプロジェクトの作成を選択します。


次に以下の画面が現れますので、Windowsフォームアプリケーション(.NET Framework)を選択します。


後は以下の画面からアプリケーションを開発していきます。


2017年5月31日水曜日

ファイルリストの作成

後でコメントなどの手直しはする。

 private void button2_Click(object sender, EventArgs e)
        {
            // ファイルリストを作る対象のアドレスをセット
            string DirectoryPath = @"C:\Users\xxxx\Documents\0_Work";
            //配列:files にDirectoryPath配下のファイルを取得する
            //第2引数は取得対象のフィルタ。第3引数は全てのサブディレクトリを含むかどうか
            string[] files = Directory.GetFiles(DirectoryPath,"*",SearchOption.AllDirectories);
            //作成するファイルのパス
            String filename = @"D:C_list.txt";
    //書き込むファイル,false:上書き true:追記,文字形式の受け皿準備
            StreamWriter sw = new StreamWriter(filename, false, Encoding.GetEncoding("Shift_jis"));
    //更新日付受け皿準備
            DateTime file_date;
    //取得したファイルリストの配列数回ループ
            for (int i=0; i<files.Length; i++)
            {
     //更新日付取得
                file_date = System.IO.File.GetCreationTime(files[i]);
     //textBox2.textへ"ファイルパス,更新日付\r\n"をセット
                textBox2.Text += files[i] + "," + file_date + "\r\n";
            }
    //ファイルを書き出し。ファイルクローズ。
            sw.Write(textBox2.Text);

            sw.Close();
  }