C#

TextBox を IME 前後参照変換に対応させる (System.Windows.Forms)

C#

TextBox に入力済みの文字列を考慮して IME でかな漢字変換できるようにします。「IMEの前後参照変換機能に対応するには」が大変参考になりました。ありがとうございます。 【花が】「さいた」 →[花が咲いた] 【布を】「さいた」 →[布を裂いた] 【時間を…

C# で Windows 7 のジャンプリストを使ったランチャを作成

C#

Windows 7 に新しく追加された機能「ジャンプリスト」を使ったランチャを作成してみました。とはいっても Windows API Code Pack のデモを改造しただけですが。 本来はタスクバーにゴミ箱を表示するアプリケーションを作ろう!と思っていました。考えた仕様…

ThreadPool を使った非同期サーバ

C#

ThreadPool を使ってぶんまわすだけ。 Stop では Loop の終了を待ちます。 using System; using System.Net.Sockets; using System.Net; using System.Threading; using System.Diagnostics; namespace Samples { class ThreadPoolListener { Socket listene…

SocketAsyncEventArgs を使った非同期サーバ

C#

Socket.AcceptAsync() と SocketAsyncEventArgs を使います。 using System; using System.Net; using System.Net.Sockets; using System.Diagnostics; namespace Samples { /// <summary> /// SocketAsyncEventArgs を使ったサーバー。 /// </summary> class SocketAsyncListen…

Begin/End パターンを使用した非同期サーバー

C#

.NET Framework で実装されている Begin/End パターンを使ってサーバーを作ってみました。 今回はクライアントと接続するだけです。クライアントとの通信処理は実装していません。 using System; using System.Net; using System.Net.Sockets; using System.…

IDisposable の実装

C#

なにやら気をつける事があるようなので自分用テンプレート。 以下ソースコード using System; namespace Samples { // 参考: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconfinalizedispose.asp class Disposable :…

SocketAsyncEventArgs を使ったサーバーを作る

C#

まぁ、MS の公式サイトに載ってるのをほぼぱくっただけですが。 Begin/End パターンに見慣れているので、StartAccept を BeginAccept にしたってだけ。受け入れたクライアントを閉じる処理はしていない。OnAccept は virtual にしておいた。 Server.Start() …