Hatena::ブログ(Diary)

周回遅れのブルース

2016-11-25

二種類の XamComboEditor

| 15:59 | 二種類の XamComboEditorを含むブックマーク

またまた備忘録です。Infragistics WPF で提供されてる XamComboEditor、これ実は二種類あるの知ってました?

Infragistics.Controls.Editors.XamComboEditor

Infragistics.Windows.Editors.XamComboEditor

です。


どういうコンセプトで二種類の XamComboEditor があるか判りませんが、複数選択やチェックボックス付きコンボを使おうとするなら、上の Controls.Editors.XamComboEditor を使う必要があります。

Windows(以下略)の方は XamDataGrid の ComboBoxField 等で使われるエディターなので、Controls(以下略)よりも若干軽量にできてるのかもしれませんね。纏めるとこうなります。


名前空間XAML名前空間主な用途
Infragistics.Controls.Editorshttp://schemas.infragistics.com/xamlUI用
複数選択やチェックボックス付が可能
Infragistics.Windows.Editorshttp://schemas.infragistics.com/xaml/wpfXamDataGrid のセル用

 

2016-11-24

Apllication が終了しているか判定する

| 11:55 | Apllication が終了しているか判定するを含むブックマーク

ちょっと多忙につき更新さぼってましたが、久々のエントリ、ちょっとした備忘録です。

Application.Shutdown したのに処理が走っちゃうコードを見つけたので、Application の終了をどこで判定する調べてました。で、結論はこれ。


Shutdown 実行しても処理が続行するのは盲点だった・・・ただし Shutdown メソッド実行すると、Current プロパティがヌルになるので、これでシャットダウン中か判定できます。

 

2016-06-24

Bash on Windows に構築したMySQL データベースに C# から接続してみた

| 14:03 | Bash on Windows に構築したMySQL データベースに C# から接続してみたを含むブックマーク

前回のエントリでは、Bash on Windows に MySQLをインストールし動作するか試してみた訳ですが、今回のエントリでは Windows 側から C# プログラムで MySQL に接続し動作するか試してみます。

Bash on Windows で MySQL を動かしてみる

MariaDB&MySQL全機能バイブル

MariaDB&MySQL全機能バイブル



コマンドプロンプトから Bash on Windows に接続し MySQL を起動

Bash on Windows & MySQL の情報って思ったより少ないですね。わたしの頭では Bash on Windows にインストールした MySQL に Windows 側から接続できないと思ってましたが、完全誤解してました。NaviCat の評価版インストールして Localhost に接続したら、しっかりテーブルにアクセスできるじゃありませんかw

f:id:hilapon:20160624060715p:image:w500


またコマンドプロンプト起動して bash と打ち込めば、コマンドプロンプトから bash を操作できることも判ってきました。これは楽しいw

f:id:hilapon:20160624060716p:image:w500


というわけで、これ以降の操作はコマンドプロンプトで行います。



新規ユーザー追加

C# から MySQL に ROOT で接続するのって、仮に Localhost であってもあまり気分がいいものではありません。よって、新規ユーザーを追加します。

コマンドプロンプトを起動し、bashBash on Windows に移動します。

> bash


続きを読む

2016-06-22

Bash on Windows で MySQL を動かしてみる

| 12:30 | Bash on Windows で MySQL を動かしてみるを含むブックマーク

いま Windows が熱いですね!

いや正確には Windows 10 Insider Preview で、Windowsj上で Linux が動くようになり、OSSやインフラ系のエンジニアさん達に俄然注目浴びてるわけですが、MySQLユーザーの私も、ちょうど SoftwareDesign 6月号bash 大特集と MySQL の特集記事読んでるうち、
「むむ?これはもしかして Bash on Windows で MySQL を操作せよということではないか?!」
と、悪い心がむくむく湧いてきてしまったので、早速試してみることにいたしました。


Bash on Windows を有効化する

よいこのみんなはとっくに Bash on Windows を有効化してると思うので、この辺りは割愛させて頂きます。まだの方は、以下の記事など参考に、ぜひ茨の道に足を踏み入れてください。

Bash on Ubuntu on Windowsをインストールしてみる(Windows 10 build 14316)

なお Insider Preview はあくまで最新機能の評価版のため、想定外の事態に遭遇することがたびたびありますが、それも致し方ないと太平洋のごとき大らかな心を持ち、Microsoft にガンガンフィードバックを送ってやりませう


MySQL サーバーをインストールする

次は MySQL のインストールです。SoftwareDesign 6月号の記事を参考に、最新版 MySQL5.7 をインストールしてみました。

スタートメニューから「Bash on Ubuntu on Windows」を探し、クリックして bash を起動します。wget コマンドで、で、MySQL の公式サイトから apt リポジトリの最新バージョンをダウンロードします。ちなみに以下のリポジトリは 2016/06/22 現在のものです。最新のリポジトリhttps://dev.mysql.com/downloads/repo/apt/ で調べてください。

wget https://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb


続きを読む

2016-06-21

高DPI環境における Windows Forms アプリ終了のお知らせ

| 18:39 | 高DPI環境における Windows Forms アプリ終了のお知らせを含むブックマーク

ここ最近、私が携わっているソフトを Surface Pro 4 で使いたいというお客様が増えてまいりました。


そのソフトは「クラウド型なのでデスクトップでもノートでもどこでも使える」というのが売りなのですが、Surfase Pro 4 にインストールしたお客様から、一部の機能で
「画面崩れて入力欄見えねーよっ!(怒)」
というお叱りの声がっ!!早速 Surface Pro 4 を開発チームで購入して試したところ、思わぬ事実が発覚したのでした。

結論から言えば・・・
Windows Forms 終了のお知らせ
ですっ!ヽ(^o^)ノ*1


Forms は高DPIに対応していない

このソフト、もともと Forms で開発したものですが、2011年以降より WPFに移行を開始しました。ログインから始まるメイン処理の流れはWPF化をほぼ完了し、新規画面もすべてWPFで開発してまして、これらの画面は Surface Pro 4 で問題なく表示されます。ところがマスタ系を含む一部残った Forms の画面はかなり悲惨な状態になってしまいます。例えばこんな感じ・・・

まずデスクトップPC、SXGA(1280x1024) のモニタに表示された Forms 画面の抜粋です。

f:id:hilapon:20160621182620p:image


次に同じ画面をSurface Pro 4で表示してみる。Surface 12.3″(画面サイズ12.3インチ、2736x1824) で、「テキスト、アプリ、その他項目のサイズ」が200%(推奨)の場合です。

f:id:hilapon:20160621182621p:image


これ、「テキスト、・・・項目のサイズ」を100%にすれば収まるかと思ったら、デザインが崩れたままです。状況はまったく変わりません(汗)

では、同じインターフェイスを持つ WPF 画面ではどうか。SXGA のモニタでも、Surface Pro 4 既定の解像度と項目サイズでも、いずれも表示は変わりません。ナイスですね!

f:id:hilapon:20160621183704p:image


以上のことから、Forms の画面は高DPIのモニタに対応しておらず、WPF の画面は高DPIのモニタでも意図したデザインできちんと表示されることが確認できます。



やはりWindows Forms はオワコンなのか

この問題、下記記事の「アプリの画面のスケーリングを無効にする」を試みましたが、解決できません。Forms の画面は崩れたままです。

デスクトップ アプリの表示の問題の修正方法


WPFの高DPI対応に関しては、艦これビューアーで有名なぐらばくさんの記事が詳しいです。以下、参考記事・・・。

Visual Studio 2012 のような光るウィンドウを作る (再)、そして WPF での高 DPI 対応

Room metro Tokyo #1 資料公開


上のスライドの8枚目とまったく同じ状況になっててわらたw

いずれにせよ、今後タブレットだけに限らず高DPIのモニタが普及すること考えたら、もはや Forms の選択はあり得ないと言っていいでしょう。


 

*1:いや、MS的にはとっくに終わっているのだが・・・