0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

cscの作法 その351

Posted at

概要

cscの作法、調べてみた。
練習問題、やってみた。

練習問題

datagridviewの入力にDatetimePickerを使え。

写真

image.png

サンプルコード

using System;
using System.Windows.Forms;
using System.Drawing;

public partial class form1: Form {
	DateTimePicker cal1;
	DataGridView dg1;
	int row,
		coloum;
	public form1() {
		Text = "calender";
		ClientSize = new Size(600, 400);
		dg1 = new DataGridView();
		dg1.Location = new Point(50, 20);
		dg1.Width = 500;
    	dg1.Height = 300;
		Controls.AddRange(new Control[] {
			dg1
		});
		dg1.ColumnCount = 4;
		dg1.Columns[0].HeaderText = "ID";
		dg1.Columns[1].HeaderText = "日付";
		dg1.Columns[2].HeaderText = "商品";
		dg1.Columns[3].HeaderText = "個数";
		dg1.Rows.Add(new Object[] {1, "6/8/2023", "みかん", 100});
		dg1.Rows.Add(new Object[] {2, "6/8/2023", "りんご", 300});
		dg1.Rows.Add(new Object[] {3, "6/8/2023", "バナナ", 200});
		dg1.Rows.Add(new Object[] {4, "6/8/2023", "すいか", 300});
		dg1.Rows.Add(new Object[] {5, "6/8/2023", "いちご", 200});
		dg1.Rows.Add(new Object[] {6, "6/8/2023", "メロン", 100});
		dg1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
		dg1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
		dg1.CellClick += new DataGridViewCellEventHandler(OnChanged);
	}
	private void OnChanged(object sender, DataGridViewCellEventArgs e) {
		if (e.ColumnIndex == 1)
		{
			cal1 = new System.Windows.Forms.DateTimePicker();
			Rectangle dgvRectangle = dg1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
			cal1.Location = new Point(dgvRectangle.X, dgvRectangle.Y);
			cal1.CloseUp += cal1_DateSelected;
			dg1.Controls.Add(cal1);
			cal1.Show();
			coloum = e.ColumnIndex;
			row = e.RowIndex;
		}
	}
	private void cal1_DateSelected(object sender, System.EventArgs e) {
		dg1[coloum, row].Value = cal1.Value.ToString("MM/dd/yyyy");
		(sender as DateTimePicker).Dispose();
	}
	[STAThread]
	public static void Main() {
		Application.Run(new form1());
	}
}



以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?