« Windows MobileでのSQL-Serverアクセス(eVB) | トップページ | SharpDevelopでの.Net compact FreameWork開発(はまり2)(SQL-Serverアクセス) »

2009年1月17日 (土)

SharpDevelopでの.Net compact FreameWork開発(はまり1)

eVBで開発したアプリを.Net compact FreameWorkに作り直すことしたのですが、開発環境をどうしようかと思い、とりあえず、問題はありますがフリーのSharpDevelopではじめました。
前に一度試した際に問題となったフォームの追加は自分の勘違いで追加できることはわかったのですが、このアプリのフォームデザイナはかなり問題ありです。
まだ使い込んでないのですべてではないですが、フォームデザイナで生成されるコードは.Net Freamewoek(Not compact)向けであるため、compact freameworkでサポートしないコードがエラーとなります。これだけなら、修正していけばよいのですが、フォームデザイナでコントロールを修正するとフォーム内コードがすべて作り直されるという仕様のため、修正してもデザイナで直すと修正がすべて無効になってしまいます。さらにきついのはフォント指定コードがcompact freameworkの仕様にあっていないため、フォントサイズを直しただけでコードが修正されてしまいます。ビルドしたあとにフォームでエラーがでるとエラーを消すまでデザイナ画面がエラー表示されてデザインが表示できないのも痛いです。あとVisual Studioと違って、フォームのコード用のファイル(~.vb)とフォームのデザインコードが書かれるファイル(~designer.vb)がフォームを追加すると生成されます。分けるのは良いのですが、イベントはどちらにもかけるため最初は結構混乱しました。こmぱct Freamework向けにコードを生成する部分はどこかのファイルをいじれば直るのかとも思い、ソースコードも見てみましたが自分では解決できませんでした。

とりあえずの対応方法(もっといい方法があるかもしれませんが・・)
1.フォーム
1) Me.PerformLayout→削除
2)Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font→削除
3)フォームサイズは手動で指定
2.ボタン
フォントのサイズの指定が下記に生成されるがコンパイルが通らない
Me.button1.Font = New System.Drawing.Font("MS UI Gothic",12!,System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,CType(128,Byte))

→Me.Button1.Font = New Font(FontFamily.GenericSansSerif, 12.0F,FontStyle.Bold)
※ただしこの修正をするとフォームデザイナではエラーになる。

3.ラベル
下記が生成されるがエラーになる
Me.label1.TabIndex = 6→削除
4.リストボックス
Me.listBox1.FormattingEnabled = true
Me.listBox1.ItemHeight = 12
→とりあえず削除

« Windows MobileでのSQL-Serverアクセス(eVB) | トップページ | SharpDevelopでの.Net compact FreameWork開発(はまり2)(SQL-Serverアクセス) »

モバイル」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: SharpDevelopでの.Net compact FreameWork開発(はまり1):

« Windows MobileでのSQL-Serverアクセス(eVB) | トップページ | SharpDevelopでの.Net compact FreameWork開発(はまり2)(SQL-Serverアクセス) »