Category Archives: .NET

Timing and Estimation Plugin用の手抜きなストップウォッチ

.NET Framework 2
Timing and Estimation Plugin 0.7.3

プロジェクト管理システムTracに作業の見積時間と実際にかかった時間を登録、表示できるTiming and Estimation Pluginを入れてみたところ、
時間の入力単位が「時」になっていて、たとえば「30分」と入れようとすると「0.5」と入れないとだめなど作業を細かい単位に分割するとちょっと不便だったので、
作業をしながら横に置くストップウォッチみたいなのを手抜きアルゴリズムで作ってみました。

timer.png

Read more »

圧縮SWFファイル(CWSファイル)を展開する方法を調べてC#で試してみた

Read more »

Remember The Milk APIの.NET用ライブラリを試作してみた

はじめに

Remember The MilkRemember The Milk APIとその使い方の概要は,以前に書いたエントリ「Remember The Milk APIの使い方調査」を参照して下さい.
今回は,それを踏まえてどのようなコードを書けば実際にRemember The Milk APIを使えるのかをテストするために試作した.NET/C#製のライブラリを公開します.

Read more »

ASP.NET2.0とかの手探りなあれこれ

Read more »

ASP.NETのValidator理解のための覚え書き

Read more »

ASP.NETでポストバック時にスクロール位置を保持する

最近ずっとASP.NETで苦しんでいて日記を書く間もありませんでした.

Read more »

C#からSQLiteを使ってみた

環境
OS WIndows Vista
Visual Studio 2005 + Vistaパッチ
System.Data.SQLite 1.0.43.0(SQLite3.40)
SQLite ControlCenter 日本語版 v1.02

SQLite

SQLiteについては,Wikipedia参照.
簡単に書くと,ファイルを読み書きする感覚で扱えるRDBMSです.

Read more »

C#から形態素解析器のMeCabを呼び出してみた

環境
OS Windows Vista
Visual Studio 2005 + Vistaパッチ
MeCab 0.96win
C# 2.0
MeCabSharp 1.0.0.0

2007/11/24追記:
MeCabSharpのバージョンが上がってMeCab0.96に対応しました.
説明の一部は,そのままでは適用できない可能性があります.
2008/01/08追記:
MeCabのライセンスについての記述が間違っていたので修正しました.
GPL→GPL/LGPL/BSDのトリプルライセンス
thx: はてなブックマークのghostbass氏
2008/11/08追記:
MeCabSharpのサイトが移転していたのでURLを変更(移転先ページ)

MeCab

MeCabとは,京都大学情報学研究科とNTTコミュニケーションNTTコミュニケーション科学基礎研究所が共同で開発したオープンソースの形態素解析器です*1
GPLで配布されているので完全にフリーで安心して使えるGPL,LGPL,BSDの中から好きなライセンスを選択できる上に,2007年現在広く使われている既存の形態素解析器であるChasenよりも圧倒的に高速なのが利用者からみた特徴です*2
(補足: MeCab本体と一緒に配布されている形態素解析に用いるIPA辞書のライセンスについて「ipadicのライセンスの件 – mir the tritonn」)

このMeCabをC#から使う方法をメモします.

(形態素解析器については,メモを参照です.)

目次

Read more »

DataGridViewでエンターキーにより右方向に移動する

2009/07/08 コメント欄にてより簡単な方法についての情報提供がありました

DataGridViewは,デフォルトで編集確定時などでのEnterキー押下に対する動作をカレントセル直下のセルにカレントセルを移動するようになっています.
しかし,例えばExcelでは,そのような状況での動作を直下ではなく右方向のセルに移動するように変更でき,その方が便利な時もあります.
DataGridViewでそのような動作を実現するには,どうしたらいいんでしょうか.
調べてみたところ,プロパティの変更ではなくDataGridViewを継承したコントロールを自分で作成するしかないようです.

こことか,Enterキーで下に移動しないで右に移動,こことか,DataGridViewにおいてEnterキーで右隣のセルへキャレットを飛ばすを参照.

そもそもユーザーコントロールを作ったことがほとんど無いんですが,
プロジェクトの作成で「Windowsコントロールライブラリ」を選択し,
そのプロジェクトにクラスを追加して継承コントロールのコードを書き,
ビルドするとできるDLLを参照の追加で取り込めばツールボックスに現れるようになるようです.

しかし,既にフォームに配置しているDataGridViewを置き換えるのは色々と大変です.
例えば,新たにカラムを追加しないといけないし種々のプロパティも元に戻すために弄らないといけません.
もっと楽な方法を…….

そんなわけで,フォームの初期化をしているコード(FormName.Designer.vb)を直接弄ってDataGridViewを新たに作成したUserDataGridViewに置き換える方法を採用するのが良さそうです.
やり方はいたって簡単.

Private Sub InitializeComponent()
前略
Me.dataGridViewName = New System.Windows.Forms.DataGridView
後略
End Sub

となっているところを,

Private Sub InitializeComponent()
前略
Me.dataGridViewName = New UserControlNameSpace.UserDataGridView
後略
End Sub

とするだけ.
イベント処理などは全て上書きしていて,
外見には通常のDataGridViewと区別が付かないので他を変える必要は無さそうです.
特殊なことをやっているならば違ってくるのかもしれませんが.