C#メモ

[個人メモ] [アイデア] [仕事メモ] [Ruby] [Qt] [TstLink]

2017-06-08

コンボボックスarraylist登録

// 名前空間の追加
using System.Collections;

// コード
private void button1_Click(object sender, EventArgs e)
{
  ArrayList al = new ArrayList { "NEC", "SONY", "DELL" };
  comboBox1.Items.AddRange(al.ToArray()); 
}

form間のデータのやりとり

子のフォームに親のフォームの参照を渡す。

https://www.ipentec.com/document/document.aspx?page=csharp-multi-form-data-transfer

namespace MultiFormDataTransfer
{
  public partial class FormSub : Form
  {
    private string sendData="";
    public FormMain formMain;

namespace MultiFormDataTransfer
{
  public partial class FormMain : Form
  {
    private string receiveData ="";
    FormSub fs;

    public FormMain()
    {
      InitializeComponent();
      fs = new FormSub();
      fs.formMain = this;
    }

    private void button1_Click(object sender, EventArgs e)
    {      
      fs.Show();
    }

arraylist存在するか探す

IndexOfを使用存在しないときは-1,それ以外は存在する場所indexを返す

        public void setName(string name)
        {
            WorkerName = name;
            if (ClsTextFile.lines.IndexOf(name) == -1)
            {
                ClsTextFile.lines.Add(name);
                save();
            }
        }

formを真ん中に表示

//表示させるフォームを作成する
Form2 f = new Form2();
//フォームを画面の真ん中に表示する
f.StartPosition = FormStartPosition.CenterScreen;
f.Show();

2017-05-24

実行ファイルの保存ディレクトリの取得

        private string appPath()
        {
            string stCurrentDir = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string stParentName = System.IO.Path.GetDirectoryName(stCurrentDir);
            return stParentName;
        }



split

参考にしたサイト

http://jeanne.wankuma.com/tips/csharp/string/split.html

string[] stArrayData = stCsvData.Split(',');

2017-05-19

Event

System.EventHandler

読み解くと、EventHandlerは、void型で、引数object型とEventArgs型をもつdelegateとある

http://gomocool.net/gomokulog/?p=255

EventArgs型

http://dobon.net/vb/dotnet/vb2cs/event.html

Eventの例


namespace WindowsFormsApplication1
{
    public delegate void myDelegate(string myTime);
    public class Class1
    {
        public event myDelegate myEvent;

        public void myMethod()
        {
            string msg = DateTime.Now.ToString("HH:mm:ss");
            myEvent(msg);
        }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Class1 myClass = new Class1();

        public Form1()
        {
            InitializeComponent();
        }

        private void myClass_myEvent(string updateTime)
        {
            this.label1.Text = updateTime;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            myClass.myEvent+= new myDelegate(myClass_myEvent);
            myClass.myMethod();
        }
    }
}

Event

System.EventHandler

読み解くと、EventHandlerは、void型で、引数object型とEventArgs型をもつdelegateとある

http://gomocool.net/gomokulog/?p=255

EventArgs型

http://dobon.net/vb/dotnet/vb2cs/event.html

Eventの例


namespace WindowsFormsApplication1
{
    public delegate void myDelegate(string myTime);
    public class Class1
    {
        public event myDelegate myEvent;

        public void myMethod()
        {
            string msg = DateTime.Now.ToString("HH:mm:ss");
            myEvent(msg);
        }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Class1 myClass = new Class1();

        public Form1()
        {
            InitializeComponent();
        }

        private void myClass_myEvent(string updateTime)
        {
            this.label1.Text = updateTime;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            myClass.myEvent+= new myDelegate(myClass_myEvent);
            myClass.myMethod();
        }
    }
}

2017-05-18

フォルダ選択ダイヤログ

http://dobon.net/vb/dotnet/form/folderdialog.html

//FolderBrowserDialogクラスのインスタンスを作成
FolderBrowserDialog fbd = new FolderBrowserDialog();

//上部に表示する説明テキストを指定する
fbd.Description = "フォルダを指定してください。";
//ルートフォルダを指定する
//デフォルトでDesktop
fbd.RootFolder = Environment.SpecialFolder.Desktop;
//最初に選択するフォルダを指定する
//RootFolder以下にあるフォルダである必要がある
fbd.SelectedPath = @"C:\Windows";
//ユーザーが新しいフォルダを作成できるようにする
//デフォルトでTrue
fbd.ShowNewFolderButton = true;

//ダイアログを表示する
if (fbd.ShowDialog(this) == DialogResult.OK)
{
    //選択されたフォルダを表示する
    Console.WriteLine(fbd.SelectedPath);
}

2017-05-15

現在時刻

            label1.Text = System.DateTime.Now.ToShortDateString();
            label2.Text = System.DateTime.Now.ToShortTimeString();
            this.Text = System.DateTime.Now.ToString();

            string CurDateTime = System.DateTime.Now.ToString("yyyyMMdd_HHmmss");