0 comments
0 trackbacks

PointCollectionを元から生成してあるものとして、折れ線を描画する箇所だけ覚書
StreamGeometryで描画すると、線が多い場合でもオーバーヘッドが少なくなるそうです。
あたいの変更等が考慮されていない分、Lineを複数設定するより軽くなると思っています。
実際のところは不明です。同じ書き方で複数線も描けるので意外と便利です。


// StreamGeometry生成
StreamGeometry geometry = new StreamGeometry();

using (StreamGeometryContext geometryCnt = geometry.Open())
{
// 始点のポイントを設定
geometryCnt.BeginFigure(PointCollection[0], false, false);
// 2点目から終点までのポイントリストを設定
geometryCnt.PolyLineTo(PointCollection.skip(1).ToList(), true, false);
}
// StreamGeometry確定
geometry.Freeze();

// Pathを生成してデータ設定
Path path = new Path();
path.Stroke = Brushes.Black;
path.StrokeThickness = 1.0;
path.Data = geometry;

■StreamGeometryContextのポイントの設定箇所について
BeginFigure(Point, _buff.GetValue(0)), isFilled, isClosed);について
isFilled・・・pathで設定したFillにより図形の中身を塗りつぶすかどうか
isClosed・・・三点あったら勝手に三角形にしてくれる。今回は折れ線なので閉じたらだめなのでfalse

ctx.PolyLineTo(PointCollection.ToList(), isStroked, isSmoothJoin);について
isStroked・・・線を繋ぐか繋げないかのよう、falseだと線が描画されない
isStroked・・・セグメントと前のセグメント間の結合線に適用したときに、角と見なすかどうか、とりあえずfalse
スポンサーサイト
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓
0 comments
0 trackbacks

最近プロダクトマネージャの資格を取ろうと思い、とっかかりになりそうな本として紹介されていたので一応紹介

なれる!SE4 誰でもできる?プロジェクト管理<なれる!SE> (電撃文庫)

1〜3巻は未読で、4巻から読んでみましたが、内容はそこそこ楽しめました。

PMBOKやWBS等の用語はでてきますが、本格的に学ぶのはまた別の話。

急なPMとしての無茶ぶり案件に対して、どのように進めていくのかを、失敗を踏まえて物語が進んでいくのがPMとしての作業の進め方がうまく描かれていました。
PMへのとっかかりとしては面白い本だと思います。


■内容
とある出版社の本社移転プロジェクトに参画することになった立華と工兵。とはいえ請け負ったのは一部ルーターの移設作業だけ……だったはずが、あまりの惨憺たる状況にプロジェクトマネージャーが逃亡。その代打を工兵が無茶振りされることに。新人にはハードルの高すぎる未経験の業務を前に途方に暮れる工兵。期限は容赦なく迫り、ベンダー各社はごねまくる。はたして工兵はPM業務を完遂できるのか!?
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓
0 comments
0 trackbacks

Buttonで「閉じる」を作成して、ウィンドウを閉じたいんですが、
TextBoxのLostFocusイベントがあるために、TextBoxからフォーカスが外れた時点でイベントがはしってへんな感じになってしまいました
その対策と対策時の注意点をちょっとメモしておきます

○まずはXmalでイベントを付けるのではなくLoadイベントでLostFocusを追加(ここはどちらでも良いですが)

//ロードイベント
private void Main_Load(object sender, System.EventArgs e)
{
//TextBox1のLostFocusイベントハンドラを追加する
TextBox1.LostFocus += TextBox1_LostFocus;  
}

○LostFocusイベントは行いたい処理を追加する
//LostFocusイベントハンドラ
private void TextBox1_LostFocus(object sender, EventArgs e)
{
//ここでいろいろチェック処理
}
○「閉じる」ボタンをクリック時
・ここでtextBlock1のロストフォーカスイベントを破棄しておきます。PreviewKeyDownだと、フォーカスが移る前のイベントなのでLostFocusの前に破棄することができました。

private void Button1_PreviewKeyDown(object sender, KeyEventArgs e) {
//TextBox1のLostFocusイベントハンドラを破棄する
TextBox1.LostFocus -= TextBox1_LostFocus;
}

※ここで注意点なのですが、このままだと「閉じる」ボタンをクリックし→そのままドラッグした場合に閉じない(閉じるのはKeyUpにしていたとき)事象が発生します。そしてLostFocusがなくなってしまっていました。
○そのため、「閉じる」ボタンのキーアップイベントでイベントをまた追加させてあげることで、問題は解決しました。

private void Button1_PreviewKeyUp(object sender, KeyEventArgs e) {
//TextBox1のLostFocusイベントハンドラを追加する
TextBox1.LostFocus -= TextBox1_LostFocus;
}

これで「閉じる」ボタンをクリック→やっぱり「閉じる」をやめたいので「閉じる」ボタンからフォーカスをはずしてクリックアップしたいとする期待通りの動作になりました。

それでは(*´-`*)ノ
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓
0 comments
0 trackbacks

最近C++をやらないといけなくってしまったので、少し本でも読んでも勉強でもしようと思いました

専門書は割と値段が高いですよね
C++入門者にも優しくてしやすいものを選んでみました


やさしいC 第4版 (「やさしい」シリーズ)

新品価格 ¥2,808から
(2016/7/3 15:14時点)



独習C 第4版

新品価格 ¥3,456から
(2016/7/3 15:16時点)

 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓
0 comments
0 trackbacks

行番号の表示に少し手間取ったため、メモしておきたいと思います。
VisualStudioでも同様の設定でできるかと思います。

まず「ツール」メニューから「オプション」を選択し、オプションダイアログを表示します。

①.行番号についてのオプションはが表示されていない場合があります。 「オプション」ダイアログ一番下の「すべての設定を表示」にチェックを入れる必要があります。
(下の図参照)

②行番号の表示非表示が設定できるようになったので、「テキスト エディター」「C#」「全般」から、「行番号」にチェックを入れます。
(下の図参照)

20160214_VisualC#Option

①のチェックを入れていなかったため、表示蘭の「行番号」が表示されていなかったのでつまづきました。

次からは気をつけたい!
 ↑↑↑↑↑↑よければクリックをお願いします↓↓↓↓↓↓