猫のプログラム備忘録ノート

プログラマ1年目の猫人間が、覚えたことを忘れないように備忘録を書いていくブログという名のノートになります。

【C#】タイマー【メモ】

タイマー

  • Formについてるタイマーは非同期処理には適していない?のか動かないことがあったのでダメ
  • いつも使っているタイマー
using System.Timers;
 
class Timer
{
    static void Main()
    {
        //Formで使う際はFormのTimerと被るせいで長いからダメ
        System.Timers.Timer timer = new System.Timers.Timer();

        //イベントのデリゲート
        timer.Elapsed += new ElapsedEventHandler(TimerEvent);

        //時間(ミリ秒)
        timer.Interval = 1000;
 
        // タイマーを開始
        timer.Start();
 
        // タイマーを停止
        timer.Stop();
    }
  //イベント 
    static void TimerEvent(object sender, ElapsedEventArgs e)
    {
        //ここに処理を書く
    }
}

【C#】Form別スレッド移行時の処理(Invoke)【メモ】

Invoke

何をすればいいかはわかってたのに細かいところだけ思い出せず、ネットを探したら想像以上に見つからないことに怒り満タンだったのでメモメモ

if (startButton.InvokeRequired)
{
    Invoke((MethodInvoker)delegate ()
     {
        startButton.Text = "ダウンロード開始";
    });
}
else
{
     startButton.Text = "ダウンロード開始";

}

【C#】ファイルへの入出力とディレクトリが存在しているか確認【メモ】

メモ

やりたいこと:基本的(基本とは?)なファイルの入力と出力
※以下で使う変数fileNameは文字列型のファイルパスが代入されている

  • using System.IOを追加
  • ファイル入力
//入力時はStreamWriteを使う
StreamWriter sw = new StreamWriter(fileName);
//ファイルへの書き込み
sw.WriteLine("書き込み文字列");
  • ファイル出力
//入力時はStreamReadを使う
StreamReader sr = new StreamReader(fileName);
//ファイルから読み込み
sr.~~(色々と)
  • File.Exist(fileName)でそのファイルが存在するか判定
  • Stream~~を使うときはusingで呼び出すと使い終わった後に捨ててくれるので便利

【C#】フォルダパス取得ダイアログの表示方法【探索メモ】

メモ

やりたいこと:ダイアログを開きファイルパスを取得する。

  • NuGetからWindowsAPICodePackをInstall
  • using Microsoft.WindowsAPICodePack.Dialogsを追加
  • オブジェクトの作成
var Dialog = new CommonOpenFileDialog();
  • その他設定
//ファイル選択ではなくフォルダ選択に変更
Dialog.IsFolderPicker = true;
//不必要なフォルダを開かないようにする
Dialog.EnsureReadOnly = false;
Dialog.AllowNonFileSystemItems = false;
  • Dialog.Filenameでファイルパスを取得する。

はてなブログに記載があったのに残す必要ある?

猫の備忘録

 備忘録

ある日自宅の椅子に座って数学の問題を解いているときに、

ふと解いている問題で使う公式を忘れてしまったらどうしますか?

私なら、自宅に豊富にある参考書または教科書を開き索引ページを探せば、大体の公式は見つかります。

 

しかし、プログラムを書いているときにプログラムの書き方を忘れてしまったら、

自分の周りには数学の問題を解いてた時ほどの本がない・・・

それならば、ネットの海で探し出そうとなってしまいます。

ネットでやりたいことを探すのには時間がかかるし労力も要するので、

そんな忘れてしまったことを徒然と残していこうと思います。

 

後は投稿のテストもしたかったので、はい。