初めに
今回はひとまず機能実装より先に外観の制作をします。 見た目よくなったほうがモチベ上がるからね。
前回の記事 bravememo.hatenablog.com
完成図
これの作成方法を解説していきます。 まあ基本的にツールバーからポチポチ配置していく作業だからそんなに難しくはないはずです。
最大化 サイズ変更
FormプロパティのFixedDialogをFixedDialogにすることでサイズ変更をさせないようにすることができます。
FormプロパティのMaximizeBoxをfalseにすれば最大化アイコンが灰色になります。
メニューバーのファイルの所
MenuStriptをFormにいれて入力できる場所でファイルと打ち込むだけ
グラフ部分
まずこの黒い部分ですがPictureBoxで作成しています。 PictureBoxはFormに適当なサイズ、位置で配置します。 そのPictureBoxをPictureBoxのPaintイベントで黒で塗りつぶし、その後に直線や曲線の描画をしてします。 細かい色の指定をしないでいいならBackColorで色を指定する方法でいいです。 以下参考コードです。 曲線の表示は以前のと少し違いDrawPathで描画しています。
PictureBox Paintイベント
private void TestPaint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; //画面を黒で塗りつぶす g.Clear(Color.FromArgb(20, 230, 230, 230)); path.Reset(); //中心の線の描画 g.DrawLine(m_standartpoint.pen, m_standartpoint.startPoint, m_standartpoint.endPoint); //曲線の描画 path.AddBeziers(Points); path.AddBeziers(Points2); g.DrawPath(m_pen, m_path); //点の描画 for (int i = 0; i < Points.Length; i++) { e.Graphics.FillRectangle(brush, Points[i].X - cpSize / 2, Points[i].Y - cpSize / 2, cpSize, cpSize); } for (int i = 0; i < Points2.Length; i++) { e.Graphics.FillRectangle(brush, Points2[i].X - cpSize / 2, Points2[i].Y - cpSize / 2, cpSize, cpSize); } }
あとは少し見やすくするためにBorderStyleをFixed3Dにしてます。
点の設定項目
まず表示されいる"制御点"や"X"の文字についてですがLabelを配置してプロパティのTextを変更さ文字列に変更すればできます。
数値入力はNumericUpDownを配置するだけです。
追加ボタン
先ほどのLabelみたいにButtonを配置して、プロパティのTextを"追加"に変更するだけ
終わりに
とりあえず、今の外観をベースに制作していきます。 変更したくなる所が出てきたら、その都度変更すればいいかなと思います。