【C#】 画面コントロールの種別を見て処理を行う

C# で 画面コントロールの種別を見て処理を行う事があります。

ちょっと強引ですが、こんな感じでやりました。

他にもっといい手法があるはずなので

また更新します。

        private void Data_Enabled(Boolean bbool)
        {
            foreach (Control c in MainPanel.Controls)
            {
                if (c.GetType().Equals(typeof(TextBox)))
                {
                    if (kindNowValue == SyoriKind.UserCareLvl &&
                        c.Name == "txt_1")
                    {  
                        c.Enabled = !bbool;
                    }
                    else if (c.Name != "txt_0")
                    {
                        c.Enabled = bbool;
                    }

                }
                else if (c.GetType().Equals(typeof(ComboBox)))
                {
                    c.Enabled = bbool;
                    if(!bbool)
                    {
                        ComboBox tmp = (ComboBox)c;
                        tmp.SelectedIndex = -1;
                    }
                }
                else if (c.GetType().Equals(typeof(DateTimePicker)))
                {
                    c.Enabled = bbool;
                }
                else if (c.GetType().Equals(typeof(Button)))
                {
                    c.Enabled = bbool;
                }
            }
        }

 

【C#】区切り文字で分割

業務アプリを作っていてよく出てくるのが

指定した区切り文字で文字列を分割する方法です。

 

C#で書く場合の

Splitメソッドを使う方法を書いておく。

 

private void  stringSplit(string argStr)

{

    string[]  textArray;

    textArray = argStr.Split(',');  // 文字列を分割

    listBox.Items.Clear();

    foreach(string txt in textArray)

    {

         listBox.Items.Add(txt);   // リストボックスに入れる

    }

}

vagrantって 便利だわ

python を勉強するために

WindowsPCにVirtualBoxvagrantをインストールしてみた。

数年前に遊びでVirtualBoxを入れたけど

その時は環境を作るのに少々手間取ったけど

今回はvagrantの便利さに驚いた!

 

20年前は結構Unixを業務で触っていたのですが、色々と

変わっているようです。

CentOSをゲストOSとして環境構築してまだあまり触れていないけど

ipアドレスを確認するコマンドが ifconfig ではなく

ip address になっている事に少し驚く。

 

GUIよりもCUIの方がなんだか落ち着く 気がする。笑

システムのデータベースにPostgreSQLを使用しているモノを

とある理由でMySQLに移行する事になった。

 

移行ツールは無いようだが

DBeaverというOSSツールを使ってDDLを取り出して

MySQL用に一部変更してスキーマ―を作る方法がググるとあった。

ちょっとやってみる。

 

Dbeaver

 

C#でフォームアプリを作る場合にプログラムのVerを表示する。

 

フォームのコンストラクタに書いています。

 

this.Text += " ( Ver."

+FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion.ToString() + " )";

 

他にいいやり方あるんだろうが、現状これでしています。

C# 画面上のコントロールを判別して状態チェックする

C#で画面パネル上の複数コントロール

テキスト、コンボ、DateTimePicker等の

種別に分けて状態をチェックするロジック

 

foreach (Control c in MainPanel.Controls)
{
    if (c.GetType().Equals(typeof(TextBox)))
    {
        strNumber = (c.Name.Replace("txt_", ""));
        switch (strNumber)
        {
            case "0":
                c.Text = serviceCd.dataInfo.Syurui;
                   break;
            case "1":
                c.Text = serviceCd.dataInfo.Koumoku;
                break;

             case "2":
                c.Text = serviceCd.dataInfo.ServiceName;
                break;

             default:
                break;
         }
    }else if(c.GetType().Equals(typeof(ComboBox)))
    {   // コンボボックス
        ComboBox tmp = (ComboBox)c;
        int index = 0;
        if (c.Name == "cmbKoumoku")
        {   // コンボボックス
            if (Int32.TryParse(serviceCd.dataInfo.Koumoku, out index))
            {
                tmp.SelectedIndex = getComboIndex(tmp, index);
            }
            else
            {
                tmp.SelectedIndex = -1;
            }
        }else if (c.Name == "cmbSantei")
        {
            if (Int32.TryParse(serviceCd.dataInfo.SanteiId, out index))
            {
                tmp.SelectedIndex = getComboIndex(tmp, index);
            }else
            {
                tmp.SelectedIndex = -1;
            }
        }
    }else if (item.GetType().Equals(typeof(DateTimePicker)))
    {
        user.dataInfo.Birthday = item.Text.ToString();
    }
}