C#
TrackBarの棒部分の色を変えたかったので、カスタムドローに挑戦してみる。 まずシンプルにトラックの背景色だけを変えてみる。で、できたのがこれです。 namespace TrackBarTest { public class CustomTrackBar : TrackBar { [StructLayout(LayoutKind.Sequ…
一見正しく書いたつもりでもImage.Save()で画像を保存するときに例外が発生することがあります。 特に、ExternalExceptionで"GDI+ で汎用エラーが発生しました。"というメッセージの場合は原因が掴みにくく、ハマることがあります。 複雑な原因の場合もあり…
ビットマップファイルを作ったりするときに必要ですが、ちょっと面倒です。構造体サイズ分のアンマネージメモリを確保し、そこに構造体をコピー。 さらにそこからbyte[]へコピーしてStreamに書き込んでいます。 public static void WriteStructToStream(Syst…
元ネタはぬるり。: EnumDisplayName 新しく自分で宣言する型の場合はこれでかなり楽になります。 ですが、既存の型については各値に属性を付けることができない(できるのかもしれませんがわからなかった)ので、これは自前でTypeConverterを作るしかないか…
.NET 2.0から匿名メソッド(デリゲート)というのがあり、 button.Click += delegate { }; みたいな書き方ができる というのを少し前に知ったのでメモ。 System.Threading.Timer timer = new System.Threading.Timer(new System.Threading.TimerCallback(del…
設定ダイアログでの色選択部品はどういうインターフェースがいいのかなあと考えつつ、とりあえずComboBoxを作ってみることに。 KnownColorをアイテムに表示しつつ、"参照..."アイテムを選択するとColorDialogが出るというの感じ。KnownColorはSystemColorを…
記事一発目、.NETネタで。 色々な場面で使うことが多いSystem.Collections.Generics.List<T>クラス。もう少し痒いところに手が届くように…ということで拡張して使っています。 using System.Text; using System.Collections.Generic; namespace MyClasses { pub</t>…