午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

VB.NET

DrawLinesで直線の描画と、その頂点を表示してマウスドラッグ

Windows FormアプリをVisual Basicで マウスドラッグでラベルコントロールの移動と直線の描画 2014/12/19は5年前 gogowaten.hatenablog.com このときと同じなんだけど、書き直してみた 直線はGraphicsクラスのDrawLinesを使って描画 DrawLinesはPointの配列…

WPF、変形後の要素(Thumb)の頂点をマウスドラッグで最寄りのグリッド頂点にスナップ

前回からの続きで、今回ので満足できるところまでできた 変形後の要素の4頂点をグリッド頂点にスナップ 変形(20度回転)後の要素の四隅の頂点を順番にを100,100の位置にスナップ移動させている できたなあ 一年前に失敗したのと同じ考え方なんだけど、書き方…

WPF、変形後の要素の4辺をグリッドスナップしながらドラッグ移動

前回からの続きで 今回の目的は 変形した要素がピッタリ収まる四角枠の4辺をグリッドスナップするマウスドラッグ移動 青枠がぴったり枠で水色罫線がグリッド どんな処理をすればいいのかエクセル方眼紙を使って考えてみた エクセル方眼紙は便利なんだよなあ …

WPF、変形後の要素(Thumb)のグリッドスナップ移動

gogowaten.hatenablog.com 前回で要素の変形後の位置とサイズを取得できるようになったので、それを使って目的だった変形後のグリッドスナップ移動ができるようなった グリッドスナップ移動 橙色の四角要素をグリッド(水色罫線)に合わせて移動するとき 左上…

WPF、変形した要素を指定位置に移動、NotifyProperty

要素を指定した位置に移動させる 水色の四角枠は目印、サイズ100x100、x,y=100,100 赤の四角が目的の要素、サイズ100x100 移動ボタン1と2どちらも100,100へ移動させるボタンだけど基準が違う 基準A:ボタン1は見た目上の位置 基準B:ボタン2は内部的な位置 …

WPF、CanvasLeftTopとSliderValueをBinding

Canvasに表示したBorderの Canvas.LeftとCanvas.Topを SliderのValueにBinding VBのコードでBinding デザイン画面、XAML MainWindowのVBコード Class MainWindow '右へ10 Private Sub AddLeft10() Canvas.SetLeft(MyBorder, Canvas.GetLeft(MyBorder) + 10) …

WPF、Borderの背景色(Background.Brush)とスライダーの値を双方向バインディング?

目的 MultiBindingとIMultiValueConverterを使って Borderの背景色(Background.Brush)とスライダーの値を双方向バインディング ボタンはBorderの背景色を変更しているだけでスライダーの値には触っていない 背景色(Background.Brush)←→スライダー ↑ ボタンで…

WPF、ScaleTransformと作成した依存プロパティをBinding

目的は 動的作成で個数も決まっていない対象の拡大縮小 縦横独立と同期をチェックボックスで切り替えできるようにする スライダーやボタンで数値の変更 結果 OKです デザイン画面とXAML ヤフーブログのかんたんモードでXAMLを書くと投稿エラーになるから画像…

WPF、AnglePropertyと作成した依存プロパティをバインディング

作成した依存プロパティと RenderTransformの中のRotateTransformのAnglePropertyをBindingしておいて スライダーやテキストボックスともバインディング デザイン画面 ヤフーブログのかんたんモードでXAMLを書くと投稿エラーになるから画像で VBコード 今回…

WPF、Canvasの中に画像として保存したい要素が回転や拡大など変形されていてもOKな方法

Canvasの中にある画像として保存したい要素が回転や拡大など変形されていてもOKな方法 Private Sub Test2ImageFile(obj As FrameworkElement, parentPanel As Panel) '変形した要素がぴったり収まるRectを取得 Dim gt As GeneralTransform = obj.TransformTo…

WPF、画像をくっきり表示させたい(ぼやけるのがイヤな)とき、EdgeModeとScalingMode

前回は図形に対するアンチエイリアスの切り替えだった 今回は画像に対するアンチエイリアスの切り替えというかぼやけるのを切り替え 特に設定しないと拡大や回転表示させたときにはアンチエイリアスが有効な状態で表示される、くっきり表示させたいときは Ed…

EdgeModeでアンチエイリアスの有無を切り替え、WPF

RenderOptions.SetEdgeModeで図形のアンチエイリアスの有無を切り替え 左右それぞれのStackPanelの下の方に表示している図形は上から Line(太さ0.5) Line(太さ1.0) Line(太さ5.0)Lineはそれぞれ2本ずつ Rectangle Ellipse 右のすべての図形は図形自体のEdgeM…

WPF、BindingのStringFormat、数値の書式設定をVBコードで

XAMLじゃなくてVBコードで Bindingした数値の書式設定 SliderのValuePropertyはDouble型、これを各TextBlockのTextPropertyにBindingして表示するときの書式設定の例 数値が123.45で 表示 小数点以下が要らないとき 123 Binding.StringFormat = "0" 123 Bind…

エクセルVBAとC++とC#とVB、それぞれのバブルソートの処理時間

アプリやプログラム言語の違いで処理速度がどれだけ違うのかバブルソートを書いて試してみた エクセルのVBA Visual Studio Community 2017のC++ Visual Studio Community 2017のC# Visual Studio Community 2017のVB この4つで1万件のランダム数値配列をバブ…

WPFとVB.NET、FillContainsWithDetailとGeometryを使って面と面の重なりを判定

エクセルのグループ化を真似したくていろいろ試している続き マウスドラッグで四角形の範囲を作ってその範囲に重なったものを取得するっていうだいぶ前の方法 gogowaten.hatenablog.com WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい4 ( …

WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい6

グループ化後の変形とグループ化解除のテスト 前回からの続き、テストばっかりで本番前に力尽きそう 赤枠はグループの範囲の境界線、青マスは1マス50 見た目の位置とサイズは水色のこと 前提 グループを回転や拡大率の指定をするときの中心点は各Thumb(四角)…

WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい5

グループ化テストの続き テストのテスト グループ化後の回転 エクセルの場合 グループの中心が回転軸になっている これを真似したい 同じ色どうしがグループ化されていると見倣して、グループを回転させた時の動作 水色のThumbの回転軸は自身の中心 桃色のTh…

WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい4

グループ化の続き 前回と前々回のを足して グループ化したいThumbをマウスのドラッグで範囲選択してグループ化と解除 ここまでできた 青枠はグループの枠でただの目印 回転角度と拡大率指定のスライダーはまだ動かせない、これができたらテストはほぼ終了な…

WPFとVB.NET、マウスドラッグ移動で範囲選択、枠表示して枠内のものを取得

マウスドラッグ移動で四角枠を表示して枠内のThumbを取得 デザイン画面とXAML マウスの位置を取得するには背景色を指定する必要があるみたい だけど色はいらないので透明色のTransparenを指定している VBコード Imports System.Windows.Controls.Primitives …

WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい3

以前とは別の方法でグループ化と解除のテスト デザイン画面とXAML VBコード Imports System.Windows.Controls.Primitives Class MainWindow Private tList2 As New List(Of ExThumb2) Private Const grid As Integer = 20 'グリッドの大きさ '選択中のExThum…

WPFとVB.NET、TransformGroupのChildrenにAddする順番で結果が変わる

TransformGroupのChildrenにAddする順番で結果が変わる RenderTransformをデザイン画面で指定しているときは自動で適当な順番になるから気にしていなかった、というか順番で結果が変わるとは思っていなかった なのでコードで書くときにも順番を気にしないで…

WPFとVB.NET、エクセルのグループ化とグループ化解除を真似したい2

グループ化続き ここまではできた 2016年6月2日追記 この方法はちょっと違うかもと別の方法にしてみた 追記ここまで デザイン画面とXAML VBコード 赤いところは意味ない Imports System.Windows.Controls.Primitives Class MainWindow Private thumbList As …

WPFとVB.NET、ControlTemplateを使ったThumbを回転表示する時に回転させるのはどれがいいのか

ControlTemplateを指定したThumbを回転表示させたものをドラッグ移動したら 動きがおかしくてマウスとは違う方向に動いていく これは gogowaten.hatenablog.com WPFとVB.NET、Canvasの中に回転表示したコントロールのドラッグ移動で気づいたこと ( ソフトウ…

WPFとVB.NET、ControlTemplateをコードで作成

ControlTemplateをコードで作成 デザイン画面とXAML VBコード 'ControlTemplateをコードで作成 Imports System.Windows.Controls.Primitives Class MainWindow 'Canvasを入れたTemplateを持ったThumbを返す Private Function GetThumbWithTemplate() As Thum…

Visual Studio 2015 Update 2をインストールした時の様子とXAMLのUIデバッグツールの表示の切り替え

1ヶ月くらい前だけどVisual Studio 2015 Update 2をインストールした時の様子 すべて選択で12GB必要って言われた すべて選択のチェック外したら3GB 何が必要なのかさっぱりわからないので全部入れる ここから長い 最初のスクリーンショットから3時間弱 途中…

WPFとVB.NET、エクセルのグループ化を真似したいからまずはグループ化のRectを取得

グループ化するときに必要なRectを取得する グループ化ってのはエクセルの図形とかをグループ化っての、あれをどうしても真似したい 赤枠が必要なRectで対象になるコントロールがぴったり収まる四角形 2016年6月2日追記 これはちょっと違うかもと別の方法 追…

WPFとVB.NET、回転したコントロールをマウスドラッグでグリッドスナップ、SortedListはスゴイヤツ

回転後のコントロールをマウスドラッグ移動するときに グリッド移動(グリッドスナップ) グリッドスナップする頂点は四角形の各4頂点すべての中で一番グリッドに近いもの この条件での処理がなんとかできた感じ 回転していない四角形の移動は今のPixtack紫陽…

WPFとVB.NET、動的追加時にControlTemplateの中のControlを取得するにはApplyTemplate

Pixtack紫陽花2ndの画像の表示は XAMLの方でWindow.Resourcesに Imageコントロールを入れたControlTemplateをThumbコントロールに指定しておいて VBコードで Thumb作成 Window.ResourcesからControlTemplateを取得 ThumbにControlTemplateを指定 ControlTemp…

Pixtack紫陽花2nd、編集状態をファイルに保存できるようにした

前回は2週間前 gogowaten.hatenablog.com の続き Pixtack紫陽花2nd 1.1.2.4 2016/04/30 編集状態を名前を付けて保存できるようにした 2016/04/28 透明にしたい色をパレットから選択したとき透明にならないのを修正 スライダーと画像の回転角度などの変形の…

WPFとVB.NET、Bindingしたままコントロールを直接変形、TransformGroupの中のRotateTransform

前回の gogowaten.hatenablog.com WPFとVB.NET、アプリでの編集状態保存、名前を付けて保存、回転角度を指定する2つの方法 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ http://blogs.yahoo.co.jp/gogowaten/14093723.htmlこれをPixtack紫陽花2nd…