色の設定
長い間使わせてもらっていますが、つい最近、表示色の設定をし始めました。
背景色を変える行の間隔が設定できるようになり、うれしくて凝り始めてしまいました。
そこで何点か気づいたことがありますので、それを挙げてみます。


1 質問
 変更対象に「列ヘッダー色」と「行ヘッダー色」というものがありますが、
 これはどれのことでしょうか。試しに変更してみても「グリッドの表示」のところは
 どこも変わりません。実際に表が表示される「テーブル一覧ウィンドウ」でも
 色が変更されたところは見つけられませんでした。

2 障害と思われるもの
 2-1 グリッドの表示
  設定画面を表示したとき、「グリッドの表示」のところは現在の設定が反映された色に
  なっていると思うのですが、そこの「選択セル色」は現在の設定にかかわらず
  いつも同じ色が表示されます。色を変更した直後はボタンの右横のラベルと同様に
  「グリッドの表示」のところも反映されるのですが、設定画面を閉じて再度開くと
  「グリッドの表示」のところは「選択セル色」のところだけいつもの色で表示されます。

 2-2 初期値に戻す
  [初期値に戻す]ボタンをクリックしても「背景色」と「グリッド色」は
  ボタンの右横のラベルの色も「グリッドの表示」のところも変化はありません。
  「テーブル一覧ウィンドウ」でも変化はありませんでした。

3 不整合(障害とはちょっといいにくい)
 3-1 反映されるタイミング
  「指定間隔行」は、変更して設定画面の [OK]ボタンをクリックすると(設定画面が閉じて)
  「テーブル一覧ウィンドウ」が開いていればその変更は表示されている表に即座に反映されます。
  しかし、「背景色」、「グリッド色」、「選択セル色」は
  いったん「テーブル一覧ウィンドウ」を閉じて再度開いてからでないと変更が反映されません。
  データベースの再読み込みでも変更は反映されませんでした。

 3-2 カラーパレットその1
  色を変更するためのボタンをクリックしたときカラーパレットが開きますが、
  このとき現在設定されている色のところにフォーカスがあります。
  しかし、「行ヘッダー色」の場合は「列ヘッダー色」の色と同じところにフォーカスがあります。
  そこで [OK]ボタンをクリックしてしまうと「行ヘッダー色」は「列ヘッダー色」と
  同じものになってしまいます。
  (ほかの5ヵ所はそのまま [OK]ボタンをクリックしても色の変更はありません)

 3-3 カラーパレットその2
  自分で作成した色を設定してあるものの場合はカラーパレットが開いたとき、
  最左最上の色のところにフォーカスがあります。
  (3-2の場合とは違い、そのまま [OK]ボタンをクリックしても色は変更されません)
  フォーカスがどこにもない状態が作れるかわからないのですが、
  自分で作成した色の場合はフォーカスがどこにもない状態がいいのではないかと思います。


以上、ご確認よろしくお願いします。
  • ColdJoint
  • 2017/06/07 (Wed) 20:40:48
Re: 色の設定
ご利用ありがとうございます。Pupです。

対応が出来たもの出来なかったものがありますが、回答致します。

1 質問
 「列ヘッダー色」と「行ヘッダー色」について
 これはWindows7であればテーマのWindowsクラシックなどを選択していると変更が有効になりますが、
 それ以外ではWindowsの設定が勝ってしまいます。
 ただ、それもどうかと思うのでDataGridViewのカラムの見た目が少しかわりますが、クラシック以外でも
 色の変更が反映されるようにしてみました。

2 障害と思われるもの
 2-1 グリッドの表示
  反映が漏れていましたので修正しました。

 2-2 初期値に戻す
  こちらも反映漏れでしたので修正しました。

3 不整合(障害とはちょっといいにくい)
 3-1 反映されるタイミング
  指定間隔行の背景色は行の描画時に色を塗っているので即時反映されているのですが、それ以外は
  DataGridViewのプロパティに設定していたので、あえて適用しないと反映されていませんでした。
  ということで開いているすべてのDataGridViewに対して色の変更を反映するように修正しました。

 3-2 カラーパレットその1
  コードをコピペしたままでしたので、修正しました。

 3-3 カラーパレットその2
  フォーカスを外すことが出来なかったので、基本色にない色が設定されている場合はカスタムカラーに
  その色を表示するようにしましたが、それでもカスタムカラー側を選択する方法が見つからず、
  先頭の色にフォーカスが当たっている状態を改善するには至りませんでした。

以上となります。

3-3はできそうで出来なかったので残念ですがいい情報があれば教えて頂ければと思います。
最悪はダイアログを継承して新しいものを作るしか無いかもしれません。
  • Pup
  • 2017/06/08 (Thu) 11:54:48
Re: 色の設定
対応ありがとうございます。
反応が遅れてしまって申し訳ありません。
日付を見ると私が上げてから一日も経たないうちに対応されています。
せっかくの即応なのに依頼した側の反応が遅れてしまい
がっかりされているのではないでしょうか。
改めて申し訳ないです。


さて、本題ですが、早速使わせてもらいました。
そして気づいた点や感想などを挙げさせてもらいます。

1 障害と思われるもの
 「初期値に戻す」ですが、前回挙げた「背景色」と「グリッド色」をはじめ従来のところは
 初期値に戻りました。
 しかし、新たに追加された「列ヘッダー文字色」、「行ヘッダー文字色」、「文字色」は戻りませんでした。

2 不整合(障害とはちょっといいにくい)
  色を変更するためのボタンをクリックしたときカラーパレットが開きますが、
  自分で作成した色を設定してあるものの場合は「色作成」の部分が初めから表示さるれようになりました。
  しかし、選択用の8×6の 48色のうち、
  右から2上から2と右から3上から3の2色も(自分で作成していないのに)
  「色作成」の部分が初めから表示されます。

3 感想
 ヘッダー系の場所は思っていた通りのところでした。
 そして設定通りに「背景色」が反映されるようになりました。
 また、「文字色」まで変更できるようにしてもらえています。
 このことは本当に重要なことだと思っております。
 これによってヘッダー(の背景)色の実質的な選択肢が増えると思うからです。

4 お願い
 感想のところでも述べましたが「背景色」は「文字色」と組み合わせることで
 実質的な選択肢が増えると思います。それは「文字色」についても同様で
 「背景色」と組み合わせることで実質的な選択肢が増えると思います。
 ところで、今回思いがけず3種類の「文字色」が変更できるようになっていました。
 そのうち2種類は「背景色」も変更できます。
 (凝り始めるとこれは本当に非常にありがたいことです)
 そこでお願いですが、残りの1種類の「通常のセルの背景色」も
 変更できるようにしてもらえないでしょうか。


新たな依頼まで出してしまい申し訳ないですが、
上記ご確認、ご検討よろしくお願いします。
  • ColdJoint
  • 2017/06/18 (Sun) 01:17:23
Re: 色の設定
ご利用ありがとうございます。Pupです。

文字色の設定も初期化できるよう、セルの背景色も変更できるようにしました。
また、ついでなので、選択中のセルの文字色も変更出来るようにしております。

これでDataGridView内で設定できる色はすべてかと思います。
よろしくお願いいたします。
  • Pup
  • 2017/06/21 (Wed) 16:08:14

返信フォーム






プレビュー (投稿前に内容を確認)