C# Tips

2012年10月28日 (日)

XMLスキーマ定義に従ってXMLファイルを読み込む(2)

タイトル通り、前回の「XMLスキーマ定義に従ってXMLファイルを読み込む(1)」の続きです。

続きを読む "XMLスキーマ定義に従ってXMLファイルを読み込む(2)" »

2012年10月18日 (木)

XMLスキーマ定義に従ってXMLファイルを読み込む(1)

前回、プロジェクトに取り込む場合のXMLファイル構造についての注意点を書きました。今回はその注意点に従っているという前提に基いて、XMLファイルをスキーマによる妥当性チェックを行いながら、アプリケーションで読み込むロジックについての話です。

続きを読む "XMLスキーマ定義に従ってXMLファイルを読み込む(1)" »

2011年2月 4日 (金)

OLEドラッグ&ドロップ対応にする方法(オブジェクト編)

.NETにおけるOLEドラッグ&ドロップは、いろいろなデータを取り扱えますが、その制約について改めて確認しておきます。
Control.DoDragDrop メソッドで、『データは、基本マネージ クラス (String 、 Bitmap 、または Metafile)、あるいは ISerializable または IDataObject を実装するオブジェクトのいずれかである必要があります。』と説明されています。
つまり、これらのデータである限り、OLEドラッグ&ドロップが出来るという事です。

ではここで、前回ファイル編で使用したドロップソース側のサンプルを修正して、ListBox から ListView に置き換えてみます。ここでは、View プロパティを View.Details 、MultiSelect プロパティを false に設定している前提とします。そしてドラッグした、ListViewItem 自身をドラッグで受け渡すデータとしてみます。なお、ListViewItem は、ISerializable インターフェースを実装しているので、前述のデータ受け渡し制約の範囲内となります。

なお、今回も最後にサンプルコードがダウンロード出来るようにしています。詳細はそちらを見て頂きたいのですが、ListViewItem として、改造前同様任意のフォルダ内のファイル情報を表示しています。但し、今回の記事の関連で、若干ながら凝った造りにしています。
では、さっそく本題に入ります。

続きを読む "OLEドラッグ&ドロップ対応にする方法(オブジェクト編)" »

2011年1月28日 (金)

OLEドラッグ&ドロップ対応にする方法(ファイル編)

前回のテキスト編に続き、今回はファイルを対象としたドラッグ&ドロップを行なってみます。

ファイルのドロップターゲットになるアプリケーションは多いものの、ドロップソースとしての機能を持つものは、エクスプローラ的なもの位しかない様な気もします。しかし、ここではあえて、TreeView や ListView は使いません。これらは、別枠で記事にしたいと思っていますので、ここでは ListBox を使用する事にします。

またファイルの場合、ドロップターゲットとしてだけ機能すればいいケースが多い筈なので、今回はドロップソースと、ドロップターゲットを別プロジェクトにしてみました。

続きを読む "OLEドラッグ&ドロップ対応にする方法(ファイル編)" »

2011年1月26日 (水)

OLEドラッグ&ドロップ対応にする(テキスト編)

以前、Delphi5 にてOLEドラッグ&ドロップ対応をテスト的に行なった事がありますが、1から実装する必要があって、かなり大変だった記憶があります。しかし、.NET では Control クラスにて基本となるイベント等をサポートしていて、コントロールを使ってのOLEドラッグ&ドロップを実装するのは、結構簡単に出来ます。

今回は、基本的な部分の説明と、テキストのドラッグ&ドロップ記述例について書きます。

続きを読む "OLEドラッグ&ドロップ対応にする(テキスト編)" »

2011年1月19日 (水)

C#でカラーカーソル/アニメーションカーソルを使用する

アプリケーションで自作カーソルを使用する場合、過去の記事「.NETでリソースにアクセスする」で示した事を行なえば、OKです。しかし1つ問題があります。この方法はモノクロでないカーソルやアニメーションカーソルには適用出来ません。
ヘルプの Cursor クラスの説明で、アニメーションカーソルやカラーカーソルはサポートしていないと明記されています。つまり、元々サポートされていないという事になります。私にとっては、これはかなり意外な事でした。アニメーションカーソルやカラーカーソルは確か Windows95 では既にサポートされていた筈ですからね。

では、絶対に使えないかというと、そうでも無いようです。Win32API を使用すれば可能な様です。という事で、今回はカラーカーソル及びアニメーションカーソルを実現する記述を説明します。

続きを読む "C#でカラーカーソル/アニメーションカーソルを使用する" »

2010年12月16日 (木)

文字列にUnicode固有文字が含まれるかのチェック方法

サロゲートペアのテストしたついでに、Unicode固有文字が含まれるかのチェック方法について、考えてみました。私の知る限り、直接その文字列中にUnicode固有文字があるかをチェックする Win32API や .NET クラスの類はない筈です。
では、どうすればよいでしょう。

続きを読む "文字列にUnicode固有文字が含まれるかのチェック方法" »

2010年12月 1日 (水)

ファイルからアイコンを抽出して、ImageListへ登録

怒涛のアイコンネタ、第3弾です。

今回は、指定されたファイルからアイコンを抽出して、それを ImageList に登録する汎用的な関数を公開します。
指定対象となるファイルは、アイコンリソースが含まれたファイル(実行ファイル/DLLファイル、アイコンライブラリファイル、アイコンファイル)です。

続きを読む "ファイルからアイコンを抽出して、ImageListへ登録" »

2010年11月28日 (日)

ファイルに関連づけされたアイコンをImageクラスで取得

アイコンネタ第2弾です。

アイコンをコントロールに表示する場合、

  1. Image を直接指定する方法
  2. ImageList を指定して、ImageIndex を指定する方法

があります。

続きを読む "ファイルに関連づけされたアイコンをImageクラスで取得" »

2010年11月25日 (木)

システムイメージリストを使用したアイコン表示(2)

※2011/03/27 kurimu さんからの御指摘内容を本記事に反映させました。

さて前回、システムイメージリストのハンドルを取得して、ListView への登録を行なうところまで実装しました。今回は実際にアイコンを表示させます。

続きを読む "システムイメージリストを使用したアイコン表示(2)" »

その他のカテゴリー