読者です 読者をやめる 読者になる 読者になる

たきるブログ

C#やOracleなどの情報を書いています。

【Xamarin】Xamarin.FormsでHelloWorld

Xamrin.FormsでHelloWorldしてみる。

続きを読む

【Xamarin】Visual Studioのインストール、セットアップを行う

2017/05/21 時点
環境(OS, VSのバージョン, Xamarinのバージョン)によっていっつもおかしくなってハマるから全部残しておくことにした。

続きを読む

【Oracle】全角%や全角_がLIKE検索で特殊文字として動作しない理由

発覚した経緯

続きを読む

【C#】DataTableもDataRowでもエンティティクラスにマッピングする拡張メソッド

DataTableの利用している時も、あまり面倒なコードを書かずクラスマッピングしてしまおう。

続きを読む

【C#】DataRowをエンティティクラスにマッピングする拡張メソッド

DataRowを操作する時に、クラスマッピングして操作できるようにしてしまおう。

続きを読む

【C#】nullを許容する、読み取り専用にする、文字色・背景色の変更ができるDateTimePicker

開発環境

長年の悩み

NullableDateTimePickerだのUltraDateTimePicker、探してたらほんと色々あったけど、どこかがイマイチだったりしてた。
VisualStylesが無効でないとダメだとか、Tab内だとダメだとか、TableLayoutPanel内だとダメだとか、色んな動作を組み合わせて使ってみるとダメなところが見つかったりだとか。

結論

散々調べた結果、俺の中で一番スマートで、100%(だと思う)真っ当に動作するDateTimePickerを作ることができた!
利用には困らないレベルになっていると思うけど、他のコントロールやプロパティと組み合わせてうまく動作しないという場面があったら、直したいから教えてもらいたい。

動作内容

  • Valueにnull指定を可能。
  • BackSpace, Deleteキーでnull入力が可能。
  • ReadOnlyプロパティの追加。(TextBoxで置き換える)
  • ReadOnlyLabelプロパティの追加。(Labelで置き換える)
  • BaseBackColor, FocusBackColorプロパティの追加。(フォーカスアウト/イン時の背景色)
  • BaseForeColor, FocusForeColorプロパティの追加。(フォーカスアウト/イン時の文字色)
  • 標準DateTimePickerと同様のイベント発生起因を踏襲。
  • Format, CustomFormat, Visibleプロパティも標準動作を踏襲し、ReadOnly, ReadOnlyLabelプロパティの状態を加味する。
  • OnXXXX()で、ReadOnly, ReadOnlyLabelプロパティの状態を加味する。

背景色は、マウスカーソルを行き来させるとたまにちらつくのが難点だけど、まぁ許容レベルということで。

ウィンドウメッセージはちゃんとconstにした方がいいかもしれないし、DesignModeも別出しにした方がいいでしょう。
とりあえず、1ファイルで実現できるコードを全部載せています。

続きを読む

【TortoiseSVN】他を諦めてオーバーレイアイコンを確実に表示させる方法

事象の発生

利用しているPCを換えたら、TortoiseSVNのオーバーレイアイコンが表示されない、表示されても安定しないって現象に見舞われた。
調べても、レジストリ『HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers』の中身をどうにかせいってことしかなかった。
元々のPCにはTortoiseSVNDropBoxも入れてたけどちゃんと表示されてたのに。

やってみたこと

上記レジストリは15個までしかダメということで、ならばTortoiseSVNによって作成されたキー名の先頭に半角スペースを入れてみた。(元々2つ半角スペースが入っているところを、4つ半角スペースに変えた) 『  Tortoise1Normal』とかを、『    Tortoise1Normal』とかに。
すると、表示されるもんはされたけど、管理対象外時のオーバーレイアイコンとかだけ表示されないという片手落ちになった。

結果

オフラインファイルなんてのは使わないし、DropBoxはタスクトレイから状況が確認できるところから、ムリにオーバーレイアイコンはいらんだろってことで、めんどくさくなって以下を行った。

  1. DropBox用のキーをすべて削除。
  2. 『Offline Files』キーも削除。
  3. コントロールパネルから『同期』と検索して同期センターを表示し、左メニューの『オフラインファイルの管理』から『オフラインファイルを無効にする』ボタンを押す。
  4. PC再起動。

TortoiseSVNのオーバーレイアイコンが安定して動作してほしいということを最重要視したため、これでいいかな、と。