C# プログラマーによる技術情報サイトです。フリーランスでの活動で日々遭遇する技術情報をお届けします。
ブログ

未分類

【C# ToolStrip】ToolStrip の右端の影をフラットにする

準備

(なし)

デザイン

1. フォーム (Form1) にツールストリップ (toolStrip1) を配置します。
2. デザイナ上で、ツールストリップ (toolStrip1) をクリックし、表示される種類から「Button」を選択します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
public Form1()
{
  InitializeComponent();
  
  ToolStripProfessionalRenderer renderer = new ToolStripProfessionalRenderer();
  renderer.RoundedEdges = false;
  toolStrip1.Renderer = renderer;
}

解説

ToolStrip コントロールをよく見ると、右端に影があります。影というより、右端の角が丸くなっているようです。その影をなくし、完全にフラットに表示しています。今回は二つの ToolStrip を追加しており、片方のみ変更していますので、比較ができると思います。

VB.NET ではフォームのコンストラクタがないため、意図的に New コンストラクタを追加しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# ToolStrip】ツールチップを扱う

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にツールチップ (toolTip1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  toolTip1.SetToolTip(textBox1, "これは必須入力です。");
}

解説

デザイナでは、テキストボックスのプロパティに toolTip1 の ToolTip というプロパティがあり、ここで設定することもできます。一見すると、コードで変更する場合でも、このプロパティに値を設定できるのかと思うのですが、そうではないようです。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# ToolStrip】ToolStrip を扱う

準備

(なし)

デザイン

1. フォーム (Form1) にツールストリップ (toolStrip1) を配置します。
2. デザイナ上で、ツールストリップ (toolStrip1) をクリックし、表示される種類から「Button」を選択します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void toolStripButton1_Click(object sender, EventArgs e)
{
  MessageBox.Show("Hello, World!");
}

解説

ツールバーのボタンをクリックすると、メッセージが表示されます。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】データセットを設定する (2)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// 構造体の宣言
struct stComputer
{
  public string sMaker;
  public string sPCName;
}

// コード
private void Form1_Load(object sender, EventArgs e)
{
  DataSet ds = new DataSet();
  DataTable dt = ds.Tables.Add("Computer");
  DataRow dr;
    
  stComputer[] sF = {
  new stComputer { sMaker = "NEC",  sPCName = "ValueStar" },
  new stComputer { sMaker = "SONY", sPCName = "VAIO"},
  new stComputer { sMaker = "DELL", sPCName = "Precision"}
  };
  
  
  dt.Columns.Add("メーカー");
  dt.Columns.Add("パソコン名");
  
  foreach (stComputer item in sF)
  {
    dr = dt.NewRow();
    dr["メーカー"] = item.sMaker;
    dr["パソコン名"] = item.sPCName;
    dt.Rows.Add(dr);
  }
  
  dataGridView1.DataSource = ds;
  dataGridView1.DataMember = "Computer";
}

サンプルコード (C++/CLI)

この言語にはサンプルコードはありません。

解説

データグリッドビューの列に設定したコンボボックスをコンボボックスをクリックすると、そのクリックはフォーカスを設定する意味となります。リストを展開するには、もう 1 回コンボボックスをクリックする必要があります。これでは使い勝手がよくありません。

そこで、他のセルにフォーカスがあっても、コンボボックスを 1 回クリックすると、フォーカスの設定とリストの展開を同時に行っています。ポイントはグリッドビューを編集状態にした上で、DataGridViewComboBoxEditingControl のプロパティを変更することです。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】列を追加する (3)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1)

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.ColumnCount = 2;
  DataGridViewRow dgvRow = new DataGridViewRow();
  dgvRow.CreateCells(dataGridView1);
  dgvRow.Cells[0].Value = "東京都";
  dgvRow.Cells[1].Value = "渋谷区";
  dataGridView1.Rows.Add(dgvRow);
}

解説

最初に行データを作成して、その中にセルの値を設定しています。そして、その行データをデータグリッドビューに追加しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】チェックボックスカラムを追加する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1)

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.Columns.Add("", "都道府県");
  dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn());
  dataGridView1.RowCount = 5;
}

解説

データグリッドビューにチェックボックスカラムを追加しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】ソートする

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1)

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.Columns.Add("", "都道府県");
  dataGridView1.Columns.Add("", "市区町村");
  dataGridView1.Rows.Add(new string[] { "東京都", "新宿区-2" });
  dataGridView1.Rows.Add(new string[] { "東京都", "新宿区-1" });
  dataGridView1.Rows.Add(new string[] { "東京都", "新宿区-3" });
  dataGridView1.Rows.Add(new string[] { "京都府", "中京区-5" });
  dataGridView1.Rows.Add(new string[] { "京都府", "中京区-1" });
}

private void button1_Click(object sender, EventArgs e)
{
  dataGridView1.Sort(dataGridView1.Columns[1], System.ComponentModel.ListSortDirection.Ascending);
  dataGridView1.CurrentCell = dataGridView1[0, 0];
}

解説

データグリッドビューの 2 番目の列で昇順にソートしています。ソート後にカレントセルが見えなくなる可能性があるので、左上のセルをカレントに設定しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】イメージカラムを追加する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.Columns.Add(new DataGridViewImageColumn());
  dataGridView1.Rows.Add(Image.FromFile(@"C:\Windows\Web\Wallpaper\Windows\img0.jpg"));
}

解説

データグリッドビューイメージカラムを追加して、サンプルピクチャーから読み込んだイメージファイルを追加しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】計算式を設定して自動計算させる

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.ColumnCount = 3;
  dataGridView1.Columns[0].HeaderText = "A";
  dataGridView1.Columns[1].HeaderText = "B";
  dataGridView1.Columns[2].HeaderText = "(SUM)";
  dataGridView1.RowCount = 5;
}

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
  if ((dataGridView1[0, e.RowIndex].Value != null) && (dataGridView1[1, e.RowIndex].Value != null))
  {
    int v1 = Int32.Parse((string)dataGridView1[0, e.RowIndex].Value);
    int v2 = Int32.Parse((string)dataGridView1[1, e.RowIndex].Value);
    
    dataGridView1[2, e.RowIndex].Value = (v1 + v2).ToString();
  }
}

解説

データグリッドビューの列 A と列 B の和を 列 (SUM) に自動計算して設定しています。数字が入力されるたびに自動計算を実行するには、CellFormatting イベントを使います。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

【C# DataGridView】ボタンカラムを挿入する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にデータグリッドビュー (dataGridView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  dataGridView1.ColumnCount = 3;
  dataGridView1.RowCount = 5;
  
  DataGridViewButtonColumn dgvButton = new DataGridViewButtonColumn();
  dgvButton.Name = "チェック";
  dgvButton.HeaderText = "チェック";
  dgvButton.Text = "チェック";
  dgvButton.UseColumnTextForButtonValue = true;
  
  dataGridView1.Columns.Insert(0, dgvButton);
}

解説

データグリッドビューの最初の列として、ボタンカラムを追加しています。Insert メソッドには追加したい列番号を指定します。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)…

« 1 45 46 47 197 »
PAGETOP
Copyright © ITLAB51.COM All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.