Makoto Kinoshita @mkino 絶対バグが取れる、最強のデバッグ法。 まずご飯を食べる。飲みたければお酒も飲む。そして寝る。 目覚めたら30分運動する。シャワーを浴びる。 そして作業再開。するとなぜかコロリとバグが取れる。 2019-07-25 06:12:17
MicrosoftはWindows 10の開発にあたり、一般公開前のWindows 10を協力者グループ「Windows Insider Program」のユーザーにリリースし、フィードバックを募っています。2019年7月24日、MicrosoftはWindows Insider Programのテストユーザー向けに間違ってWindows 10の新しいスタートメニューが採用された内部ビルドバージョンをリリースしてしまい、スタートメニューのデザインを変更しようとしていることが明らかになっています。 Microsoft reveals new Windows 10 Start menu in accidental internal leak - The Verge https://www.theverge.com/2019/7/24/20708355/microsoft-windows-10-
前回、「日付」を入力するコントロールのMonthCalendar(System.Windows.Forms名前空間)の基本を紹介しました。 今回はDateTimePickerの基本を紹介します。 DateTimePickerとは MSDNで「ユーザーが日時を選択し、書式を指定して日時を表示できる Windows コントロールを表します。」となっています。 動かしてみる まずは、Windowsフォームアプリケーションのプロジェクトを作成して、フォームにDateTimePickerコントロールを1つ配置して、ビルド・実行してみましょう フォームデザイナの画面 実行して、右側をクリックした画面 DateTimePickerの右側をクリックすると、MonthCalendarと同じように「カレンダー」が出てきて日付が選択できます。 DateTimePickerは、「書式を指定して日時を表示・・・」な
アプリケーションでユーザーが日付と時刻を選択できるようにし、その日付と時刻を指定した形式で表示できるようにするには、 DateTimePicker コントロールを使用します。 次の手順では、 DateTimePicker コントロールを使用して時刻を表示する方法を示します。 DateTimePicker コントロールで時刻を表示するには Format プロパティを Time に設定する timePicker.Format = DateTimePickerFormat.Time; timePicker.Format = DateTimePickerFormat.Time ShowUpDownのDateTimePicker プロパティをtrueに設定します。 timePicker.ShowUpDown = true; timePicker.ShowUpDown = True 例 次のコード サ
CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の本当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今
読み取り専用ファイルがあるときでもフォルダを削除する「フォルダを作成、削除、移動(名前の変更)する」で説明したように、Directory.Deleteメソッドを使うと、フォルダとそれ以下にあるすべてのファイルとフォルダを削除することができます。しかしこの時、削除するフォルダ以下に読み取り専用属性のファイルやフォルダがあると、例外UnauthorizedAccessExceptionをスローして、削除に失敗します。ここでは、この対策について説明します。 削除する前に読み取り専用属性を外す方法Directory.Deleteメソッドを呼び出す前に、削除するフォルダ以下にあるすべてのファイルとフォルダの読み取り専用属性を外しておくという方法が考えられます。以下に示すDeleteDirectoryメソッドでは、フォルダを削除する前に、そのフォルダ以下のすべてのファイルとフォルダを調べ、読み取り専用
C#のDataGridViewの使い方を列挙します。 DataGridViewって、デフォルトはデータベーステーブルみたいな形をしていて、一般的なテーブルとして使うには少し手を加える必要があります。 まずは基本形 基本形はこんな感じです。とりあえず例として4列のテーブルを作りました。 DataGridView table = new DataGridView(){ Dock = DockStyle.Fill, ColumnCount = 4, Parent = this, }; table.Columns[0].HeaderText = "1"; table.Columns[1].HeaderText = "2"; table.Columns[2].HeaderText = "3"; table.Columns[3].HeaderText = "4"; 表を横いっぱいにする 表を横いっぱい
C#でDataGridViewの使用頻度が高めなのですが、忘れがちでそのたびにググっているので、基本的なところをここに書き留めます。 [ad#top-1] DataGridViewの初期設定の基本形 こちらが基本形 DataGridView table = new DataGridView(){ Font = new Font("Meiryo UI", 11), Dock = DockStyle.Fill, ColumnCount = 4, AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill, //最終行の行追加行をなくす AllowUserToAddRows = false, RowHeadersVisible = false, //左ヘッダーをなくす //選択を行全体に SelectionMode = DataGridV
■No67877 (初心者 さん) に返信 > private void dgv_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) > { > DataGridViewRow row = dgv.Rows[e.RowIndex]; > if (row.IsNewRow) > return; > Debug.WriteLine("RowIndex=" + e.RowIndex + " RowCount=" + e.RowCount); > } > > 5行のDataTableをバインドしたところ出力結果が以下のようになってしまいます。 > > RowIndex=0 RowCount=1 > RowIndex=1 RowCount=4 > RowIndex=0 RowCount=1 ← 余分 > RowIndex=1 RowC
例 次のコード例では、 イベントを CellValuePushed 処理して、更新プログラムと新しいエントリをデータ ストア オブジェクトに格納します。 この例は、リファレンス トピックで使用できる大きな例の VirtualMode 一部です。 #pragma region Data store maintance void VirtualConnector::dataGridView1_CellValueNeeded (Object^ sender, DataGridViewCellValueEventArgs^ e) { if (store->ContainsKey(e->RowIndex)) { // Use the store if the e value has been modified // and stored. e->Value = gcnew Int32(store->
public: event System::Windows::Forms::DataGridViewRowsAddedEventHandler ^ RowsAdded; public event System.Windows.Forms.DataGridViewRowsAddedEventHandler RowsAdded; public event System.Windows.Forms.DataGridViewRowsAddedEventHandler? RowsAdded; member this.RowsAdded : System.Windows.Forms.DataGridViewRowsAddedEventHandler Public Custom Event RowsAdded As DataGridViewRowsAddedEventHandler イベントの種類 例
例 次のコード例では、 イベントを NewRowNeeded 使用して新しい行が追加されるタイミングを追跡するため、イベント ハンドラーの CellValueNeeded ロジックで新しい行のセルを初期値に初期化できます。 この例は、リファレンス トピックで使用できるより大きな例の VirtualMode 一部です。 void VirtualConnector::dataGridView1_NewRowNeeded (Object^ sender, DataGridViewRowEventArgs^ e) { newRowNeeded = true; } void VirtualConnector::dataGridView1_RowsAdded (Object^ sender, DataGridViewRowsAddedEventArgs^ e) { if (newRowNeeded)
public: event System::Windows::Forms::DataGridViewCellValidatingEventHandler ^ CellValidating; public event System.Windows.Forms.DataGridViewCellValidatingEventHandler CellValidating; public event System.Windows.Forms.DataGridViewCellValidatingEventHandler? CellValidating; member this.CellValidating : System.Windows.Forms.DataGridViewCellValidatingEventHandler Public Custom Event CellValidating As
(.Net)DataGridViewでの入力チェックはCellValidatingだけではダメの続きとなります。 前回の最後で、「この場合だと、一つでも入力エラーとなれば、正しい値を入れるまで何もできない(フォームを閉じることさえ)ので、実装には工夫が必要」と書きました。 今回はその工夫の1つで、間違った入力をされたら、その行は消すという方法です。 列数が1つとか2つかの場合には有効だと思います。 実際に行を消すのは RowValidated イベントで行っています。 厄介だったのは、Row.Delete() のときにまた、RowValidated イベントが走ってしまうという点です。 これを回避するために、賢い方法ではないですが、例外を捕まえてキャンセルさせるという方法にしました。もっといい方法はないんでしょうかね。 下記がコードです。DataTable等の環境は前回と同じです。 Pub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く