サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
www.kanazawa-net.ne.jp/~pmansato
ビルドアクションの種類 プロジェクトアイテム、つまり、プロジェクトを構成する各種ファイルのプロパティを開いて、[ビルドアクション] を指定するコンボボックスには以下にリストアップする項目がならんでいるはずです。 なし(英語名は None) コンパイル(同、Compile) コンテンツ(同、Content) 埋め込まれたリソース(同、Embedded Resource) ApplicationDefinition Page Resource SplashScreen DesignData DesignDataWithDesignTimeCreatableTypes EntityDeploy これらについて、概観してみましょう。 [なし] 「デフォルトのビルドアクション」の中で紹介したとおり、ビルドアクションが [なし] の項目は properties/Settings.settings だけ
Last Updated 2011/09/21 タスクの作成 TaskFactory クラス タスクを実行するデリゲート 戻り値を返すタスク 継続タスク 子タスク TaskCompletionSource<TResult> クラス TaskCreationOptions enum 型 TaskContinuationOptions enum 型 タスクの待機メソッド タスクとは何かについては、「用語の解説」で説明したとおり、並列処理の管理を抽象化するために導入された概念です。これによりスレッドを直接操作する必要がなくなりました。.NET Framework の内部でどんな処理をしているかを詮索してもしかたありませんので、これ以上の説明は避けたいと思います。 Parallel クラスは一見するとタスクとは関係ないように見えますが、内部的にはタスクを作成しています。 タスクの作成 タスクオブジ
Last Updated 2011/09/21 並列処理のサンンプルコードはほとんどがコンソールアプリケーションです。しかし、私はコンソールアプリケーションを好みません。したがって、並列処理において UI コントロールにアクセスする手順は私にとってもっとも重要なテーマの一つです。 並列処理において、UI コントロールにアクセスしなければならないケースとは次の 2 つだと思います。 処理結果を UI コントロールに反映する 処理を中止する 「処理結果を UI コントロールに反映する」とは、結果をテキストボックスに表示するとか、処理の進捗状況をプログレスバーに表示するなどが考えられます。「処理を中止する」は処理の対象のデータの入力に不都合があって処理自体が不要になる場合とか、予想より処理時間が長くなりそうなので、途中で中止する場合です。この場合はボタンコントロールをクリックすることで中止の意図
Last Updated 2011/09/21 コーディングのスタイルは十人十色、いろいろなスタイルがあるものです。すぐれて好みの問題ですから、これと決まったものはありません。自分だけが見るコードならどんなものでもいいでしょう。しかし、ソースコードを公開する場合は自分の好みをほかの人に押し付けるのは問題です。そこで、あらためてコーディングスタイルについて考えてみました。 Visual Studio のヘルプの中に以下の項目があります。 .NET の開発 . .Net Framework SDK ドキュメント ... 一般的なリファレンス ..... クラスライブラリ開発のデザインガイドライン これは、.NET 対応のコンポーネント(クラスライブラリ)を開発する時のコーディングスタイルを規定するものです。コーディングスタイルのすべてについて触れているわけではありませんが、1 つのガイドライン
Last Updated 2011/09/21 私は当初、サロゲートペアに興味がありませんでしたが、XPS の研究を始めてみると無視できないことが分かりました。そこで、XPS のページに含めることにしたのですが、.Net Framework 全般に関わる問題であることは言うまでもありません。 【注意】 このページの一部の文字はサロゲートペアを使っていますので、IE(インターネットエクスプローラ)でなければ正しく表示されない場合があります。 サロゲートペアとは何か サロゲート "surrogate" の英語としての意味は、「代理人」とか「代用物」です。これだけでは何のことかサッパリですが、日本語にしにくい言葉ではあります。 2009 年に「サロゲート」というタイトルの、ブルースウイルス主演のアメリカ映画が公開されました。そこでは、人間の代わりに仕事をするロボット(いわゆる、ミュータント)の意
.NET Framework
Last Updated 2011/09/21 コントロールのレイアウトは、WPF アプリケーションを構築する上で、もっとも重要といっていいと思います。しかし、従来の Windows フォームアプリケーションのフォームのデザイン方法とは根本的に異なります。 私はフォームをデザインするとき、フォームデザイナを使いません。操作が冗長すぎると考えるからです。そこで、コードを直接編集しています。結果が即座に反映されるので、面倒と感じたことはありません。また、特に必要でない限り、Grid コントロールを使いません。 Margin プロパティと Padding プロパティ オーナー描画 アクセスキー コントロールのレイアウトの基本 Anchor プロパティはないの? Margin プロパティと Padding プロパティ FrameworkElementクラスの Margin プロパティおよび Con
Last Updated 2011/12/03 ビットマップ効果のページで説明したとおり、エフェクトファイル(.fx ファイル)は、 HLSL "High Level Shading Language" を使って作成します。このページでは HLSL の基本とできるだけ実用的なエフェクトファイルのサンプルコードを紹介します。 HLSL のリファレンスマニュアルは、Visual Studio 2010 のヘルプの中にありますが、残念ながら英文です。Microsoft のサイトにいくと日本語版が公開されています。ただし、このリファレンスはかなり不親切です。少なくとも、理解しやすくしようとする意欲を感じません。また、.NET Framework を対象としたものではないので、.NET Framework がサポートする範囲を超えています。どこまで使えるかの判断はかなり難しいと思います。要するに、や
Last Updated 2011/09/21 私はいまだにシリアル化という言葉に抵抗があります。というのは、その意味を直感的に理解することができないからです。.Net Framework SDK には、「シリアル化とは、オブジェクトの状態を永続化または転送できる形式に変換するプロセス」とありますから、そのまま理解するほかないのでしょう。ともあれ、このページではオブジェクトのシリアル化についてできるだけ実践的な説明をしたいと思います。なお、サンプルコードは C# を使っています。 私と同様、迷える子羊のために前文の補足をしておきます。ただし、シリアル化用語としてです。 「オブジェクトの状態」とはクラスのフィールド(プロパティと考えてよい)の設定内容のことです。「永続化」とはディスクなどの記憶媒体に記録することです。「転送できる形式」とはネットワークを通じて情報を送信できる形式、つまり、ネッ
Last Updated 2011/10/13 ListView コントロールはデータを表示する便利なコントロールですが、データの編集にも使えます。しかし、標準のコントロールにはデータの編集機能がありません。このページではセルに表示したテキストデータを編集する機能を追加する手順を説明します。 リストビューコントロール内でデータを編集したいケースは多いものです。.NET Framework SDK の解説の中に、"How to: Create a ListView with Editable Cells" というタイトルの項目があるので期待させますが、コードの全体は Microsoft のサイトからダウンロードしなければなりません。 ファイルをダウンロードするぐらいの手間はたいしたことはありませんが、その内容は問題ありです。一応、目的は達成できるのですが、どうもシックリきません。さらに WE
Last Updated 2011/09/21 Visual Studio 2008/2010 のメニューの [編集]-[詳細] の中に、[ドキュメントのフォーマット] と [選択範囲のフォーマット] という項目があります。Visual Studio のヘルプに解説がないので、気付きませんでしたが、これはソースコードを整形する機能を提供します。そこで、このページではソースコードの整形について書いてみたいと思います。なお、この機能は C# のコードおよび XML に対してのみ有効です。 WEB サイトをうろついていると、これはと思う公開されたソースコードに出くわすものです。これはようさそうだと考え、さっそくダウンロードし、Visual Studio に読み込んでみてガッカリすることがよくあります。他人が書いたコードは元々読みにくいものですが、読みにくさの前に読むこと自体に疲れるようなコードが
Last Updated 2011/09/21 私は C# でテキストエディタコントロールを作る計画を持っていますが、その過程で IME について研究してみました。日本語環境において、IME "Input Method Editor" は無視できない存在だからです。しかし、.Net Framework の IME に関係する機能はほぼゼロに等しいといってよい状況ですので、必然的に Windows の機能を直接呼び出すことになります。 このページでは、IME に関係する Windows API 関数および COM インターフェースの使い方を中心として解説します。なお、このページで紹介するサンプルコードは C# だけですが、Visual Basic な人にも参考になると思います。 Microsoft IME 2003 Windows Vista に搭載されている IME エンジンは Micro
Last Updated 2011/01/11 WPF の中にアイコンに関する機能がほとんどありません。しかし、当然ながらアイコンを使う機会はあります。このページではアイコンに関するあってもよさそうな機能について取り上げます。 アイコン(.ico ファイル)については System.Drawing.Icon クラスや System.Drawing.SystemIcons クラスがあるので間に合いそうなものですが、WPF アプリケーションとの相性がよくありません。たとえば、Image コントロールの Source プロパティにそのまま設定することはできません。しかし、遠回りな方法でなら利用することができます。以下のコードはフォームに button1 と image1 を配置し、button1 をクリックすると、System.Drawing.SystemIcons.Application を
制御文字は ASCII コードの 32 未満の文字です。テキストエディタの中で使う機会はほぼないと思いますが、かつては使っていたことがあります。たとえば、0x0C は "Form Feed" を意味し、印刷時にこの文字がある位置で改ページします。AvalonEdit ではこれを表示するとき、"FF" と表示し、文字のまわりを矩形で囲むことができます。 さて、空白と [Tab] を表示する文字は次のファイルの中に埋め込まれています。別の文字に変えたい場合はソースコードを変更してください。 AvalonEdit_Source\ICSharpCode.AvalonEdit\Rendering\SingleCharacterElementGenerator.cs 改行マークのほうは次のファイルにあります。日本語対応のテキストエディタの多くは改行マークとして下向き矢印を使うケースが多いようです。もし
Last Updated 2011/09/21 【重 要】 MSChart コントロールは .Net Framework 4.0 の標準コントロールとして追加されました。名前空間名、クラスの構成などは MSChart コントロールとまったく同じようです。ただし、MSChart コントロールではなく、単に、Chart コントロールとなっています。 以上のような経緯から本ページの記述の一部に不都合がでてきましたが、Visual Studio 2010 ではない人のためにそのままにしておきます。 MSChart コントロールは Microsoft が公開している .Net Framework 対応のコントロールです。"Chart" はチャートですね、日本では通常「グラフ」と呼んでいますが、棒グラフとか線グラフなどのグラフです。 Visual Basic 6.0 には MSCHRT20.ocx が
WPF 対応のカラー選択コントロール Last Updated 2012/02/16 私のホームページでも WPF 対応のカラー選択ダイアログボックスまたはコントロールの習作を紹介していますが、機能やコンパクトさという意味ではまだまだ不満です。このページではカラー選択コントロールについて考えてみたいと思います。 "Color Picker" とか "Brush Editor" などをキーワードとして、WEB サイトをあたってみると、いくつかの有力な情報に出会うことがあります。まず、それらの紹介から始めることにしましょう。 Charles Petzold の ColorPicker Extended WPF Toolkit の ColorCanvas Sharp Develop の PropertyGrid コントロール内の BrushEditor コントロール もちろん、もっと多くのサンプ
Last Updated 2011/09/21 カスタムコントロールを作成する場合、ArrangeOverride と MeasureOverride の 2 つのメソッドをオーバーライドしなければならないケースがあります。しかし、これらのメソッドはその実態がよく分かりません。そこで、実際にカスタムコントロールを作りながら研究してみました。 子要素を持つカスタムコントロールを作成する場合、子要素をどのようにレイアウトするかを決めなければなりません。ArrangeOverride と MeasureOverride の 2 つのメソッドはそのためのメソッドです。 これらのメソッドのほかに、Arrange メソッドや Measure メソッド、DesiredSize プロパティなどが関係する場合もあります。 これら 2 つのメソッドは FrameworkElement クラスに与えられています
Last Updated 2011/09/21 "WPF Shell Integration Library" が公開されています。このページではこのライブラリに含まれる WindowChrome クラスについて解説します。なお、クラスの個々のプロパティやメソッドの解説はしませんが、そのかわり私が公開中の WPF クラスライブラリリファレンスをご覧ください。 "WPF Shell Integration Library" とは何か .Net Framework の機能の中で欠けているものの一つは、Windows シェル関係の機能です。Microsoft がなかなか公開したがらない理由は分かりませんが、小出しにはしています。 Windows シェル機能の中でほしいものとして、「ゴミ箱」やショートカットリンクの作成などがあります。Windows API 関数を直接呼び出せば可能なものはあります
Last Updated 2011/09/21 作成したコントロールを適切なディレクトリに格納し、ツールボックスにコントロールを示すビットマップを表示する、などの手続きをコントロールのインストールと呼ぶことにします。 ここでは、以下にリストアップするテーマについて解説します。 ツールボックス用ビットマップの設定 コントロール用アセンブリ(.dll ファイル)を格納する コントロールをツールボックスに登録する 登録したコントロールを削除する グローバルアセンブリキャッシュに登録する ツールボックス用ビットマップの設定 コントロールは特に指定しない限り、ツールボックスにはデフォルトのビットマップ が表示されます。しかし、これでは何をさすのかが分からないので、独自のビットマップを設定することにしましょう。 とはいってみたものの、Visual Studio のヘルプの中にその手順が書かれていません
Last Updated 2011/09/21 このページでは、PDF 文書を作成するためのクラスライブラリの iTextSharp を取り上げます。 PDF "Portable Document Format" はいまや電子文書の標準フォーマットになりました。 広く普及した原因は、PDF 文書を表示するソフト Adobe Reader が無料で公開されていること、ハードウエアの環境を選ばないこと、などを挙げることができます。ここまで普及し、しかも、十分な機能を持っている以上、PDF の地位は将来にわたってゆるがないものと考えます。最近では書類を PDF 文書として提出することを要求されることさえ増えてきました。 PDF に対抗するためかどうかは分かりませんが、Microsoft は XPS を提案しています。PDF ドキュメントを作成するツールは有料(しかも、かなり高い)ですが、XPS
Last Updated 2011/09/21 私は .Net Framework クラスライブラリリファレンスを公開していますが、その記事を書く過程で Windows サービスアプリケーションの作成方法とインストールの方法について WEB サイトをあたっていたところ、Visual Studio の Standard 版では Windows サービスアプリケーションを作れないとの記事を見つけました。Standard 版には Windows サービスアプリケーションを作るためのデザイナ機能がないからです。私は俄然、燃えましたね。Standard 版であるがために Windows サービスアプリケーションの作成をあきらめる人がいてはいけないと考え、このページを作成することにしました。 なお、以下の記事は Visual Studio 2005 Standard 版に基づいています。使用言語は C
Last Updated 2011/09/21 WPF とは何かを検索キーワードにして、WEB サイトをあたると多くのサイトにヒットしますが、これはと思うサイトは少ないですね。一番多いのは Microsoft の言い分、つまり、バラ色の言葉の羅列です。私が知りたいことは Microsoft がいうように、本当に次世代の Windows アプリケーション対応の開発環境なのかどうかです。 Windows アプリケーション開発の方向性について、Microsoft は、WPF が Windows アプリケーションの UI の未来だと考えています。 しかし、2011 年の時点においても、WPF が主流になったという実感はありません。 私はいくつかの WPF アプリケーション(その一部を Software のページで公開しています)を作りました。たしかに、従来のプログラミング手法とは相当に異なりますの
Last Updated 2012/02/04 このページでは、.NET Framework または WPF アプリケーションを開発するための開発ツールおよびユーティリティソフトを取り上げます。ただし、開発言語は C# だけを対象とします。 C# 対応の総合開発ツール .NET アプリケーションは .NET Framework を使わなければなりませんが、その SDK "Software Development Kit" は C# のコンパイラを含めて無料で公開されています。SDK の 2011 年初頭の最新バージョンは 4.0 です。したがって、.NET アプリケーション開発に必要なもののうち、自前で用意しなければならないものは何もありません(ただし、IDE がないとフォームを作るのはかなり面倒ですが)。 さて、C# 対応の総合開発ツールとして、私がテストしたものは次の 3 つです。 V
Last Updated 2011/09/21 .Net Framework アプリケーションの開発者の多くは、Visual Studio を使っていると思います。好みの問題はありますが、開発環境としてはおおむねよくできていると思います。しかし、人間の欲は深いもので、さらに便利にしたくなるものです。Visual Studio はそういう人のために開発環境に独自の機能を組み込む仕組みを用意しました。このページで紹介するアドインがその一つです。なお、このページは Visual Studio 2010(Visual Studio 2008 または 2005 でもほぼ同じです)に基づいています。また、サンプルコードは C# で作りました。 【注意】 .Net Framework 3.5 に追加された System.AddIns 名前空間は通常のアプリケーションに組み込むアドインに関係するクラスを含
Last Updated 2012/02/27 .Net Framework 3.5 の WPF 標準のコントロールはまだまだ多いとはいえません。.Net Framework 4.0 には DataGrid、DatePicker、Calendar の各コントロールが追加されましたが、それら以外にもほしいコントロールはたくさんあります。しかし、従来の .Net Framework 手法と比べると、WPF はカスタムコントロールを作ることが(圧倒的に)容易です。そこで、WPF 対応のコントロールを作ってみました。 XML 形式の初期化ファイル アプリケーションはカスタマイズ情報などを保存しておくために初期化ファイルを使います。もっとも古いものでは INI ファイルでした。Windows 95 が出現したころからは Windows レジストリを利用する方法が一般的になりました。.Net Fram
Last Updated 2011/09/21 データバインディングは WPF のもっとも重要なトピックの一つですが、直感的に理解することはかなり難しいと思います。このページではデータバインディングの具体的な例を挙げて、実務的な解説を試みます。 なお、記事中に出てくる個々のクラスのプロパティやメソッドの詳細については、WPF クラスライブラリリファレンスを参照してください。 WPF はデータドリブン型のプログラミングスタイルを採用しています。これを一言で言うと、プロパティの変化をとらえて何らかの動作をしようとするものです。従来の Windows アプリケーションでは当然のようにコードで実装するところを WPF アプリケーションでは XAML コードだけで実現可能にするという特徴があります。このときに重要な役割を果たすのでデータバインディングです。 Microsoft は XAML コードで
C# コーディングスタイル Last Updated 2009/04/03 コーディングのスタイルは十人十色、いろいろなスタイルがあるものです。すぐれて好みの問題ですから、これと決まったものはありません。自分だけが見るコードならどんなものでもいいでしょう。しかし、ソースコードを公開する場合は自分の好みをほかの人に押し付けるのは問題です。そこで、あらためてコーディングスタイルについて考えてみました。 Visual Studio のヘルプの中に以下の項目があります。 .NET の開発 . .Net Framework SDK ドキュメント ... 一般的なリファレンス ..... クラスライブラリ開発のデザインガイドライン これは、.NET 対応のコンポーネント(クラスライブラリ)を開発する時のコーディングスタイルを規定するものです。コーディングスタイルのすべてについて触れているわけではありま
Microsoft Ribbon for WPF Last Updated 2010/09/19 Microsoft Ribbon for WPF が公開されました。 Microsoft Ribbon for WPF とは何か? Microsoft Ribbon for WPF(以後、Ribbon と称する)とは、従来型のアプリケーションのメニューバーとツールバーとを兼ねるコントロールです。Microsoft Office 製品のほうで先行して使われていたものを WPF アプリケーションで使えるようにしたものです。 下図は、サンプルアプリケーションとして公開されているもののスナップショットです。 気に入るかどうかは分かりませんが、これからの Windows アプリケーションの標準的な UI になることは間違いないでしょう。 Windows アプリケーションの標準的な UI といえば、上図の
WindowChrome クラス Last Updated 2010/10/14 "WPF Shell Integration Library" が公開されています。このページではこのライブラリに含まれる WindowChrome クラスについて解説します。なお、クラスの個々のプロパティやメソッドの解説はしませんが、そのかわり私が公開中の WPF クラスライブラリリファレンスをご覧ください。 "WPF Shell Integration Library" とは何か .Net Framework の機能の中で欠けているものの一つは、Windows シェル関係の機能です。Microsoft がなかなか公開したがらない理由は分かりませんが、小出しにはしています。 Windows シェル機能の中でほしいものとして、「ゴミ箱」やショートカットリンクの作成などがあります。Windows API 関数を
次のページ
このページを最初にブックマークしてみませんか?
『e-manual』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く