Top  > 雑記帳  > キーワード別  > C#

C#に関する雑記

  2003年06月29日(日)   VC#
C# Builderがいつ出るやらわらかないので 
 
Visual C# .NET Standard 2003 
 
を買ってみました。 
 
まだSharpDevelop+.Net SDK 1.0で作ったプログラムを2つほど乗せ換えてみただけですが、 
 
・コードを書く画面でInitializeComponent()をアウトライン・プロセッサのように折りたたんでくれるのは便利。 
 
・フォルダ・ダイアログ(FolderBrowserDialog)が付いたので、SHBrowseForFolderのAPIを呼ばなくてもよくなった。 
 
・出来上がるexeのサイズが大きくなった。 
 
といった感じでしょうか。 
 
exeのサイズは、SharpDevelop+.Net SDK 1.0で188Kと104Kだった2つのプログラムが、 
VC# 2003では 
188K→392K 
104K→176K 
になりました。 
 
また、SharpDevelopでは.resorceをそのままprojectに追加できたのですが、VC# 2003では扱いがわからなかったので、コマンドラインのResGenで今までの.resourceを一旦.resXにしてから取り込みました。 
 
さすがにコードとデザインの画面の切り替えでコードが潰れるといったことはありません。一度、普通はフォームの新規作成で、 
 
///  
/// 必要なデザイナ変数です。 
///
 
private System.ComponentModel.Container components = null; 
 
と自動生成されるところが、コメントなしで 
 
private System.ComponentModel.IContainer components; 
 
となっていたことがありましたけれど。

  2003年05月13日(火)   C# Windows.Formsメモ
まだ日本語用(?)1.1のSDKが出ていないようなので、1.0をいじっていますが、 
 
-------------------------------------------- 
PanelをAutoScrollにして、その中身をカーソルキーなどでスクロールさせるために、 
 
・FormのKePreviewをtrueにしておいて 
・必要な時にPanelをSelect()でActiveにして 
・FormのKeyDownイベントで拾おうとした時、 
 
FormにStatusBarがあると、PageUpやHomeキーは回ってくるのに矢印キーが拾えないは何でなんでしょうか。よくわかりません。 
 
とりあえず、StatusBarのEnabledをfalseにすると拾えるようになったので、それで逃げています。 
-------------------------------------------- 
 
そういえばBorlandからC# Builderの英語版が今年の夏頃に出るようですが、日本語版は冬ぐらいでしょうか。SharpDevelopもだいぶ癖が分かってきましたが、油断しているとInitializeComponent()を変な所に上書きしてソースをごっそり潰してくれるので、できれば早めにVC#の新しいものか、C# Builderが欲しいところです。

  2003年04月12日(土)   日本語のファイル名
WindowsがUnicodeベースになってからもうだいぶ経ちますが、ファイル名にシフトJISに変換できないUnicodeの漢字を使うと、まだ不都合が多いと思います。秀丸でも開けないし、CD-Rにバックアップを取ろうとするとひっかかるし、自分が公開しているソフトでも同じです。 
 
特にC++ BuilderやDelphiなどのVCLでは、AnsiStringで回しているため、ファイル一覧をListBoxに出したり、ファイル名をEditBoxに表示する、というようなことですら困難です。 
 
一体、こんなことで「対応OS:Windows2000」なんて言っていいんでしょうか。 
 
ネットで見るとBorlandはVCLをUnicode化する予定はないようで、 
Delphi Unicode Center (http://www.delphi-unicode.net/) 
のように独自にUnicode化したコンポーネントを作ろうという活動はあるようですが、そもそもこんなことは開発元がしなければならないことのはずです。でもしない。 
 
別にUnicodeがすばらしい、と思っているわけではないのですが、この理由のために、"bye-bye BCB"になりそうです。 
 
では何にするかというと、とりあえずC#でしょうか。もう仮想OSかというほど大きなruntimeとか、ガベージコレクションとかは何となく嫌な気がしますけれど。 
 
今年中には新しいVC#が出そうなので、今のところはSDK+SharpDevelopという環境で、どんなものかというのを見ているところです。