プログラミング
以前、ヘッダーでソート可能なListViewを実装してみるといったソート可能なListViewを紹介しましたが、より高度なソートとしてコンパレータを使ってソートする方法も紹介します。 ただし、前回のように汎用的な実装ではないので仕様に際しては工夫が必要です…
こんにちは。 前回に続き、またRichTextBoxネタです。 今回はRichTextBoxの内部で動くScrollViewerのイベントを捉えてスクロールを捕捉してついでに末尾を検知してみようと思います。 やることは単純で、TemplateからPART_ContentHostの名前がついたScrollVi…
お久しぶりです。めっきり更新が止まってしまいましたが、辛うじて生きています。 さて、今回はWPFネタで、RichTextBoxコントロールのWordWrapping (TextWrapping) を無効化してテキストに応じて横に伸びてもらいます。 RichTextBoxコントロールは標準でWord…
内製アプリで100ファイルくらいダウンロードするのに3つ並列でダウンロードとかしたかったもののあんまりいい方法が無かったので備忘録がてら残しておきます。 基本的にはTaskを使って実装することになりますが、そのまま並列化してしまうとすごい数の並列ダ…
お久しぶりです。 最近多忙とブログネタが無かったことが重なって更新がかなり空いてしまいましたが、中の人は普通に生きてます。 今回は久しぶりにC# WPFネタで、GridViewColumnを装備したListViewで各GridViewColumnをクリックするとそのカラムに応じてソ…
すっごい今更ながらCI/CD環境を構築しておこうと思ってAzure Pipelineをイジイジしてました。 しかしながら、.Net FrameworkとNUnitの組み合わせだと情報がほぼ皆無と言っていいほど無く、構築に苦労しまくったので記録として残しておきます。 今回はNUnitの…
TreeViewを扱っているとアイテムをドラッグアンドドロップで移動させくなることがあります。 Formsでは結構やり方が乗ってるんですが、WPFとなると一切出てこないので実装してみることに。 本当はコードビハインドに書きたくはなかったのですが、こうする以…
久しぶりにWPFのテクニックを紹介します。 ListBoxでファイルパスを管理する機会があって、TextBoxとButtonでファイルパスを入力して管理するというのをやりました。 ListBoxってただ文字列を配置するだけでなく、意外にも好き放題カスタマイズできるので参…
ふとポートフォリオ作ってたら大きな解像度の画像が潰れてしまうのが気になってしまい、Amazonみたいにマウスオーバーでオリジナル画像表示できないかなーと作ってみたシリーズ。 拡大って書いてるけど、2倍表示とか倍率には対応してないあくまでオリジナル…
浮動小数点数が値によっては誤差が発生することは広く有名な話だと思います。 例えば、「0.1 + 0.2 == 0.3」は多くの言語処理系において等値ではありません。 というのは私も知っていましたが、ではどうして等値ではないのかと聞かれるとフワーッとしたこと…
最近jQueryばっかじゃねえかと我ながら思うけど作っちゃったからしょうがない。 ってことで今回はH1, H2などの見出しから自動で目次メニューを生成するスクリプトのご紹介です。 静的ページ作ってると意外にだるいのが目次メニューの生成ですが、これを使え…
とあるサイトで欲しくなったシリーズ第二弾、画像をクリックしたりマウスオーバーすると別の画像に切り替わるっていうやつです。 前回の記事はこちらです。 なお、JavaScript/jQueryは専門外なので流行りや効率が必要ならいい感じに書き換えてください。
とあるサイトでリンクをマウスオーバーすると画像が横に出るスクリプトが入っていて、欲しくなったので実装してみました。 元々個人で運用しているブログで使う専用に書いたのですが、更新ネタもないのでこっちにも残しておきます。 これと同時にクリックや…
Twitterで流れてきてふと気になったので備忘録。 もっぱら高級言語ばっかり触ってきたので一瞬わからなかったのですが、C言語ではこのようなコードはコンパイラ依存で結果が変わります。 ANSI-Cの規格書に目を通したわけではないので間違いがあったらご指摘…
こんにちは。 最近バイクネタかWindowsネタばかりでしたが、今回はC#ネタを少し。 C#ではProcessクラスよりプロセス名の取得が簡単にできます。 しかしながら、プロセス取得は重い処理なため、取得頻度が多いとボトルネックになることがあります。 そこで今…
テストをちゃんとできるようにと思ってMoqを使って最近勉強しだしたものの、voidメソッドってどうやってテストすんだ・・・? となり、2時間ほど悩んだところなんとかできたのでその時の備忘録です。 テストはあまり勉強してこなかったのでもうちょっといい…
お久しぶりです。 多忙によりブログネタが全くできず、今まで放置状態でした。 さて、今日はVisual Studio 2015から導入されたRoslynコンパイラのAPIの一部で、C#ソースを解析するCodeAnalysisを使って解析を行ってみます。 大学の卒研で触ることがあったの…
久しぶりにプログラミング関連の話題です。 つい先日友人からC言語で質問がありまして、なぜかprintf関数を入れると正しく動くけどコメントアウトするとバグるというかなり不思議な不具合でした。 スタックの問題だろうなと思ったものの、久しぶりにC言語を…
こんにちは、久しぶりにプログラミング関連のネタです。 以前MabinogiKeyConverterというアプリケーションを公開して記事にも適当に書いたのですが、そこで使用しているグローバルキーフックについて残しておきます。 C#では実行アプリケーション上でキーイ…
お久しぶりです。 最近タスクが溜まりすぎてブログや個人のプロジェクトに一切手が付けられていない状態ですが、生きております。 今回はそのタスクのうち、CyberNeko HTML ParserにてDOM解析をする機会があり、NodeListの設計に疑問を感じたのでそのお話を…
こんにちは。 ブログではほとんどSavannah Managerについて触れてきませんでしたが、ちょっとずつ触れていきます。 今回から数回にかけてSavannah Managerの技術的情報を公開していきます。 一応公開する情報はSavannah Manager Libでも実装しているのでそち…
TwitterをしているとTLでふと見かけたので備忘録。 Windownsフォームアプリケーションを作る際、背景を透過したくなることが稀にあります。 単純にTransparentを指定してもサポートされてない旨のメッセージとともに失敗します。