DateTime型の値から曜日を求めます。 概要 DateTime型の値から曜日を求める場合は、DateTimeオブジェクトの DayOfWeek プロパティを利用します。 プログラム例 UI 以下のUIを準備します。 コード 下記のコードを記述します。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace GetDayOfWeek { public partial class FormMain : Form { public FormMain() { Init
TimeSpan構造体について DateTimeを演算子を使って計算する場合、式や演算の結果にTimeSpan構造体という時間間隔を表すデータを使うことがあります。 TimeSpanの使い方 TimeSpanの初期化はこんな感じです。 それぞれマイナスの値を設定することもできます。 // Tickを指定してTimeSpanを作成 TimeSpan span1 = new TimeSpan(1000); // Hours、Minute、Secondを指定してTimeSpanを作成 TimeSpan span2 = new TimeSpan(1, 2, 3); // Days、Hours、Minute、Secondを指定してTimeSpanを作成 TimeSpan span3 = new TimeSpan(1, 2, 3, 4); // Days、Hours、Minute、Second、Mil
C# DataGridView セルの結合 前回の記事でDataGridViewの結合を色々試しており、その流れで当初、進捗をセルの塗りつぶしで表現する感じのスケジュール管理用のソフトを作ろうかと考えていた。 作業の途中でふとセルの塗りつぶしではなくコントロールのLabelを置いたらどうだろうと思いついて、少し作業を進めてみた。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Text; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.
お手軽にWPFアプリにモダンなデザインを適用できる、MahApps.Metroというライブラリを使ってみました。 MahApps.Metro Documentation この手のモダンなデザインを適用するライブラリでは、 Modern UI for WPF(MUI)というのもあります。 まだちょろっと使ってみただけですが、MUIと比較してみるとMahApps.Metroの方がクセが少なくてシンプルで使いやすそうな印象です。 使い方 元のウィンドウ インストール 準備 スタイルの設定 スタイルの変更 コードビハインドからのスタイル切替 ウィンドウのカスタマイズ 各種基本のプロパティ WindowCommands Windowのデザイン ボーダー付きウィンドウ VisualStudio風のWindow枠 各種コントロール Button系 アイコン類のパッケージ アイコンの使い方 TextBox
<Application x:Class="CalendarSample.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:CalendarSample" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Cas
興味ある事、趣味を語っていくブログ たまに役に立つことを載せるかも。 Mail:motiageyakiad@yahoo.co.jp 2017/06/27追記 改訂版のURLが間違っていたことにいまさら気付いたので 「C#でカレンダーを作ってみた。(備忘録)改訂版」 ここに記す。 2018/12/06追記 GitHubに上げました。 詳しくはこの記事「http://tanosimiattack.seesaa.net/article/463080991.html」 GitHubはここ「https://github.com/MorigoriKazu/CustomCalendar」 以上 初心者プログラマである自分が C#でカレンダーを作ってみたのでそのための備忘録 VisualStudio C# .NETFramework 4.6.1 Windows10 Pro 64bit もともとは家計簿を作
2021/01/31追記 .Net5へ移行しました(関連記事) 作成した経緯 ぼくの職場では、月毎に作業工数を記録して提出する必要があります。 一応入力ツールがあるにはあるのですが、 きっちり30分毎にしか入力できない(10:00~10:30まではなにしてた、とか)し、入力自体も手数が多くて手間 UIが古きよき感じ... エクスポート形式が提出フォーマットと異なるので手作業が手間 などなど、いろいろ不満がありました。 最新の技術/ライブラリを使ってなにかプロダクトを作ってみたかったのと、新型コロナの影響でおうち時間が増えたのもあり、この不満を解消すべく「ぼくのかんがえた最強」の工数管理アプリを開発してみました。 プロダクト ソースはこちら → GitHub 実際に触ってみたい方はこちらからどうぞ → ダウンロード ※Win10 64bit版のみ用意してます。それ以外の環境の場合は各自でビル
C# + WPF(Windows Presentation Foundation) の開発に関わる便利ツール、情報のまとめ この記事について WPFでデスクトップアプリケーションを作成する目的として、関連するC#知識とライブラリの情報をまとめた記事になります。本記事の内容はUWP/Xamarin/Unity環境では異なる点が多いため注意してください。 マルチプラットフォーム対応が視野にある場合はWPFではそのままの移植が難しいため、UWP/Xamarin/Unity環境で実現が可能かの検討をすることをおすすめします。(.NET Core環境では現状動作しませんし今後対応される予定もなさそうなため) C#の基本 文法 C# によるプログラミング入門 | ++C++; // 未確認飛行 C C#7も含めて網羅されているため、ネット上の情報なら上のサイトが詳しかったです。 LINQ LINQの拡
はじめに 本記事は、3年前に書いた以下の記事を大幅に見直して書き改めたものです。 PrismとReactivePropertyで簡単MVVM! 上記の記事は、私の古い認識のもとに書き上げられました。 私の当時の認識で、Prismの機能のごく一部を使ってWPFアプリケーションを構成することが「簡単」だと思っていましたが、時が過ぎ、その認識が変化しました。 即ち、Prismの機能にもう少し乗っかった方が、結果的に「簡単」だと思い直したのです。 また、当時の未熟さから、誤った考えのもとに書かれた部分も見受けられます。 古い記事に「いいね」をいただく度、そのことをお伝えし直したいという気持ちになっていましたが、この度、執筆するやる気を確保できましたので、本記事を投稿するに至りました。 Prismの機能は多彩ですが、本記事では覚えておくと開発が簡単になる、効果の高い部分のみをピックアップしてお伝えで
はじめに WPFアプリケーションをインストーラーなどで配置する場合、Prismなどライブラリを使うとDLLを複数配置する必要があります。 WiXを用いる場合は、heat でまとめて wxsソースを自動生成して…といったアプローチが常套手段となりますが、EXEにDLLをマージすることで、EXEひとつを配布する方法を調べました。 ILMergeを使うとDLLをマージできるのですが、XAMLのリソースに対応していないためWPFでは使えないようです。 そこで、さらに調べたところ、下記ブログに記載されている方法がズバリな方法だったので、ご紹介します。 http://www.digitallycreated.net/Blog/61/combining-multiple-assemblies-into-a-single-exe-for-a-wpf-application 参照しているDLLをリソースファ
◆ Window の Icon プロパティにパス指定 ◆ App.xaml のリソースで設定して Window は Style でリソース読み込みのほうが修正が簡単 ◆ exe 自体も変えるならプロパティのプロパティでパス指定 ◆ ico ファイルのみ ◆ exe のアイコンが Window で Icon 未指定の場合のデフォルト これ ちなみに このウィンドウのタイトル左にあるアイコンは WPF のプロパティでは非表示にできません WindowsForms だとプロパティで簡単にできたのですが WPF は透明化とかも含めてウィンドウ自体のカスタマイズは弱めです やること自体は不可能ではなくて user32.dll をインポートして Win32API を使って非表示にはできます ちょっと面倒なので 左側に隙間開くことが嫌じゃないなら 透明アイコンにしてしまう手もあります アイコンを変える単
ボタンに文字ではなく、画像を表示するなんてのは、よくある事であり、やりたい事でもある。 直感的にわかるというのもあるし、場所を取らないというのもある。 Icon置き場的なサイト: Icon Archive 画像の表示方法: 画像を貼り付けてみようとしたら、勘違いに気づいた。 今回は直下ではなく、Imagesというフォルダを作って、そこに画像を配置した。 ※App.xaml <Application x:Class="TawamureDays.WPFTest.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="Window1.xaml"> <Application.Res
OpenFileDialog, SaveFileDialog のサンプルです。 このサンプルは、XAMLではコントロールの配置だけで、あとは、C#側で記述しています。 using System.IO; using System.Windows; using Microsoft.Win32; namespace OpenFileSaveFileDialogSample { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void buttonOpen_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); ope
WPFには、ICommandインターフェースというユーザーの操作を抽象化する仕組みがあります。ICommandインターフェースは、以下のように定義されています。 public interface ICommand { // コマンドを実行するかどうかに影響するような変更があった場合に発生します。 event EventHandler CanExecuteChanged; // 現在の状態でこのコマンドを実行できるかどうかを判断するメソッドを定義します。 // // パラメーター: // parameter: // コマンドで使用されたデータ。 コマンドにデータを渡す必要がない場合は、このオブジェクトを null に設定できます。 // // 戻り値: // このコマンドを実行できる場合は true。それ以外の場合は false。 bool CanExecute(object paramet
こんにちは、働くC#プログラマーのさんさめです。 本記事では、RoutedCommandという、 WPFが提供するICommand実装クラスを自分で作ってみるやり方を紹介します。 MVVMといえば、コードビハインドには何も書かないのが主流(?)ですが、 「Viewで完結する処理」なら、 むしろViewModelに処理を持たせない方がすっきりします。 RoutedCommandはそんなView向けの実装をするときに使えます。 そもそもRoutedCommandとは?WPFが提供するICommandインタフェース実装クラスです。 LivetでいうViewModelCommandPrismでいうDelegateCommand の仲間みたいなものです(目的とするところはだいぶ違いますが…) ともあれ使い方を見ていきましょう。 RoutedCommandを用意して呼び出すまでの手順以下の手順で呼び出
概要 ICommandはWPFでは出番が多いが、実装が面倒と評判ではある。 その実装で楽をするために、DelegateCommandやRelayCommandと呼ばれる実装方法が定番になっているが、CanExecuteChangedを呼ぶ処理の実装はまちまちである(下手すると実装されていない)。 ここではCanExecuteChangedを呼ぶ処理の実装を何種類か挙げる。 まずはCanExecuteChangedを呼んでいない例 "DelegateCommand"でググるとそこそこ出てくる。 public class DelegateCommand : ICommand { Action<object> _execute; Predicate<object> _canExecute; public DelegateCommand(Action<object> execute, Predic
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く