.NET

GridViewコントロールにRadioButtonは必要か?

ASP.NETの話。GridViewを使って一覧でデータを表示した時にRadioButtonを配置するとグループ化されずに複数のラジオボタンを選択されてしまう現象があります。[BUG] ラジオボタンを Repeater サーバー コントロールで使用すると同時に選択可能となるも同じ問…

XPathの名前空間の扱いが面倒

Product Advertising APIで取得したXMLデータをC#で処理しようとしてはまりました。XPathを使おうと思ってXPathNavigatorを使ってコードを書いたのですけど、Selectメソッドの引数に何を書いても結果がうまく取得できず。使い方は間違っていないはずなのにと…

.NET表技集

ここに書いていた.NET関連のTipsをまとめました。Perlとは異なり定期的に更新することはありません。

テキストボックスの入力文字を隠す

TextBoxのPasswordCharプロパティに何か文字を設定すると、設定した文字が入力文字の代わりに表示されます。パスワード入力欄などで入力文字をそのまま表示したくない場合に使います。

文字列を数値に変換

Convert.ToInt32(文字列);

警告の抑制

#pragma warning disable 警告番号番号で指定した警告を抑制します。警告は複数指定することが可能です。警告を指定しない場合はすべての警告が対象になります。警告を有効に戻すには以下のようにします。 #pragma warning restore 警告番号System.Web.Mail.…

メール送信方法変更

System.Net.Mail.SmtpClientを使うとメール送信が遅延するのでCDOを使うことにしましたとid:MAS3:20060415#p1で書きました。この方法を使うと実行ファイルの他にInterop.CDO.dllとInterop.ADODB.dllが必要になります。むやみに配布ファイルが増えるのは嫌で…

他のプログラムを起動する

System.Diagnostics.Process.Start(ファイル名); です。ファイル名が実行ファイルではなくても、関連付けされているアプリケーションがあれば関連付けされているアプリケーションが起動します。

バージョンの取得

Application.ProductVersionです。

製品名の取得

Application.ProductNameです。

タスクバーに表示しない

フォームのShowInTaskbarプロパティにfalseを設定する。

Escキーが押された時に動作するボタンの設定

フォームのCancelButtonプロパティにボタンを設定する。

Enterキーが押された時に動作するボタンの設定

フォームのAcceptButtonプロパティにボタンを設定する。

ステータスバーへのヘルプ表示が分からない

タイトルの通りなのですけど、メニューを選択した時などにヘルプをステータスバーに表示する方法が分かりません。どうやるのでしょう?分からないのでステータスバーなしで作ろうかと。

改行コード

System.Environment.NewLineです。

フォルダの作成

DelphiではForceDirectories()。C#ではSystem.IO.Directory.CreateDirectory()になります。

HashtableよりDictionary。さらにSortedDictionary

C#でハッシュ(連想配列)を使いたかったので調べてみるとHashtableというのが見つかりました。使い方は簡単ですぐに目的は達成できたのですが、更に調べてみるとDictionaryというものがあるではないですか。Dictionaryの場合ジェネリクスを使って型の指定がで…

ファイルの移動

DelphiではMoveFile()。C#ではSystem.IO.File.Move()になります。

ファイルの削除

DelphiではDeleteFile()。C#ではSystem.IO.File.Delete()になります。

ファイルの存在確認

DelphiではFileExists()。C#ではSystem.IO.File.Exists()になります。

拡張子変更

DelphiではChangeFileExt()。C#ではSystem.IO.Path.ChangeExtension()になります。

続・設定ファイルの置き場所

昨日は環境変数%USERPROFILE%を元に作ると書きましたが、Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);というので[UserName]\Application Dataまで取れることがわかったのでこちらを使うことにしました。

設定ファイルの置き場所

.NET Framework におけるアプリケーション設定の永続化によるとApplication.UserAppDataPathを使うように書かれていて、これは[UserName]\Application Data\[Control.CompanyName]\[Control.ProductName]\[Control.ProductVersion]というパスになります。み…

フォルダ名の取得

DelphiではExtractFilePath()。C#ではSystem.IO.Path.GetDirectoryName()になります。Delphiで書いていればすんなりかけるのにC#で書こうとするととたんに調べながらになってしまい面倒です。この壁があるので新しい言語で書くというのは大変です。読むのは…

実行ファイル名の取得

DelphiではParamStr(0)。C#ではApplication.ExecutablePathになります。

メール送信が遅延する

メール送信を行うちょっとしたツールをC#で作ろうとしていて、ちょっとしたサンプルプログラムを作ってみました。メールの送信自体は簡単でSystem.Net.Mail.SmtpClientを使ってすぐにできました。ところが一つ問題があって、メール送信のメソッドを実行して…

標準体重算出

標準体重算出のおかしいところを直しました。これはひとまず終了。次はWebサービスかDBを使ったものに挑戦したいと思います。