C#
日本でWPFのPrismやってるの100人いるかどうかじゃないかな。なんでWindowsのデスクトップアプリなんか作ったんだろう。 Prism8が2020年の10月頃にリリースされ、破壊的変更が入った。ServiceLocatorがなくなってContainerLocatorに変わりました。それだけ言…
この質問と全く同じ。 detail.chiebukuro.yahoo.co.jp 富士ゼロックスの複合機はパソコンからダイレクトにFAXを送信する機能がありますが、当然ながらFAX番号を指定しなければなりません。 現在つくっている業務アプリでは、FAX送付先をデータとして保有して…
WPFアプリのE2Eテストを書く必要があり、Friendlyを触ってみた。 ishikawa-tatsuya.hatenablog.com 2つほど出来たらいいな、があった。 1. ViewModelのオブジェクトを取りたい //WindowControl w var vm = w.AppVar.Dynamic().DataContext(); if(vm is Hoge…
WPFアプリ構築の敷居もグッと下がったと思う。このライブラリがMicrosoft標準でないというのが、WPFの悲劇なのでは。Prismを使ってWindowsのデスクトップアプリを作っているのですが、だいぶ慣れてきた。かずきさんのレポジトリを見て写経すればまずOK。MVVM…
非常によくわかるお話だった。特にここ。kiwosuke.hatenablog.com MVVMの原則に従って一生懸命、コードビハインドからコードを追い出したところでほとんどメリットが感じられません。 業務系のアプリはデスクトップのテンキーをベースに操作ができることを求…
Programmer's Report: WPF で横長(Landscape)印刷をするを参考にしつつ。こんなコードで横向き出来ました。 var printQueue = new LocalPrintServer().GetPrintQueue( "YOUR PRINTER NAME"); PrintTicket ticket = printQueue.DefaultPrintTicket; ticket.Pa…
こんな感じで拾えますので、どぞ。System.ManagementのDLLに参照を追加してImportしておいて下さい。 public static bool IsPrinterOffLine(string printerName = "") { ManagementScope scope = new ManagementScope("\\root\\cimv2"); scope.Connect(); //…
stackoverflow.com collection.ToList().ForEach(c => c.PropertyToSet = value); Linq is Cool.
stackoverflow.com The ContextMenu isn't in the same part of the Visual Tree so that's why you can't use ElementName etc. to reference the DataGrid. You'll have to use PlacementTarget of the ContextMenu instead. WPFのXAMLのビジュアルツリー…
簡単にできるんだね... groupbyのx.idは自分が集計したいkeyのオブジェクトを指せばOK。 List<Foo> duplicates = sample_list.GroupBy(x => x.id) .Where(g => g.Count() > 1) .Select(g => g.FirstOrDefault()).ToList();</foo>
WindowsFormのDataGridViewだと、こんな感じで拾える。DataGridViewでセルが編集中の時にキーイベントを捕捉する: .NET Tips: C#, VB.NETにあるように、EditingControlShowingというイベントハンドラがあって、その中でDataGridTextBoxColumnの内部にあるTex…
一番簡単な方法はApp.xamlにViewModelをResource定義することです。これで同じプロジェクト内から触れます。すげー簡単でしょw
おおまかなアーキテクチャ設計は出来てきて、MVVMに乗っ取った仕組みでうまいことやろうとしています。で、業務系アプリはグリッド入力がUIの8割を占めるんですけど、組み方がWPFとWindows Formでは結構違うみたい。 セル内イベント捕捉 Windows Formの場合…
現在弊社内で動いている販売管理システムは、使い慣れたWindowsフォームで作りました。最たる理由はドットインパクトプリンタに印字命令を出せることで、ブラウザではその機能がないので、ネイティブなライブラリということで.NETを採用した、という感じ。で…
フォームのLoadメソッドで、DataGridViewのデータソースにDataTableを入れてから、とある条件にそって背景色を変えるメソッドを実装した。 Regex reg = new Regex("正規表現"); foreach (DataGridViewRow row in DataGridView1.Rows) { if (reg.IsMatch(row.…
ここに書いてあった。'¥0'を与えるとリセットされる。.NET Framework4で確認しました。 how can i unmask c# password textbox and mask it back to password - Stack Overflow private void checkBox_CheckedChanged(object sender, EventArgs e) { textBox…
ValueならSelectedValueで取れるんですが、DisplayMemberの場合はこうやったら取れました。.NET4です。 DataRowView r = ComboBox1.SelectedItem as DataRowView; Console.WriteLine(r.Row["name"].ToString()); 見ての通り、キャストするだけ。簡単ですね。
まぁさ・・・NULLや文字列を引数に与えた僕が悪いんだけどさ・・・ Exceptionじゃなくて、0でreturnして欲しいかな・・・。無視してよw
DataTable.Selectメソッド。 - 3分間プログラマ。を拝見し、さすがは全開FCさんやと。えーこと知ってはると。 というわけで、僕もソートするロジックを書いたんですが、落とし穴がありました。 僕の場合は品番(itemcodeという列名)でソートしたかったんです…
.NETFramework4.0の挙動なんですが、データバインドしてる時にNullValueに何か値を与えるとバインドされない場合があるようです。 ユーザーのセルの入力値が"aaa"だとすると、DataGridViewColumn.DefaultCellStyle.NullValueに、入力値と同じ"aaa"って初期値…
string str = "\14,000"; return int.Parse(str,System.Globalization.NumberStyles.Currency);
Windowsフォーム開発で思ったこと - Life is Really Short, Have Your Life!!の続きのようなモノ。開発環境はVisualStudio Express 2010 C#で、.NET Frameworkは4.0です。 メソッドやプロパティの一覧が見たい Visual Studioって当該クラスのプロパティやメ…
世の中はWPFらしいんですけど、WPF覚えるよりも慣れたWindowsフォームのほうが圧倒的に開発速度が速かったし別に動かないワケじゃないから、Windowsフォームでここ2ヶ月ぐらいアプリを作っています。思ったことをまとめておきます。随時加筆修正予定。 画面…
DataGridViewでセルが編集中の時にキーイベントを捕捉する: .NET Tips: C#, VB.NET こちらの解説にあるようにDataGridViewのキーイベントは、セルが編集中の場合はイベントが発生せず、「編集中になっているセルのテキストボックス」のキーイベントを捕捉す…
なんでかわからないのですが、datagridViewにコンボボックスのカラムを追加してデータを入れても、デフォルトでは空白行が挿入されます。初期値を入れたいのが実情じゃないですか。 調べたらこうやったらできた。 DataGridViewComboBoxColumn combo = new Da…