C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C#でガンチャート式スケジューラ

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■89737 / inTopicNo.1)  C#でガンチャート式スケジューラ
  
□投稿者/ サラリーマン (1回)-(2018/12/19(Wed) 17:56:41)

分類:[C#] 

C#でガントチャート式のスケジューラを作成しています。
DrawRectangleなどを使ってガントチャートは表現できたのですが、
描画したDrawRectangleのガントチャートをマウスで伸縮したり場所を移動したり
できないか?と言われたときにどうしようか考えています。

DrawRectangleで描画してしまうとマウスでの操作ができないので
ガントチャートに相当するbuttonかlabelかを作成してチャートに見立ててやろうか
考えていますが、なにかおすすめの方法ありましたらどなたか教えて頂きたく。
宜しくお願い致します。
引用返信 編集キー/
■89738 / inTopicNo.2)  Re[1]: C#でガンチャート式スケジューラ
□投稿者/ WebSurfer (1716回)-(2018/12/19(Wed) 18:18:50)
No89737 (サラリーマン さん) に返信

C# Gantt chart をキーワードにググるといろいろヒットしますが、そういうのを調べたうえで
の質問でしょうか?
引用返信 編集キー/
■89741 / inTopicNo.3)  Re[2]: C#でガンチャート式スケジューラ
□投稿者/ サラリーマン (2回)-(2018/12/19(Wed) 19:21:58)
No89738 (WebSurfer さん) に返信
> ■No89737 (サラリーマン さん) に返信
>
> C# Gantt chart をキーワードにググるといろいろヒットしますが、そういうのを調べたうえで
> の質問でしょうか?

いろいろ調べるとライブラリを使うとか出てきたのですが、

自作でいろいろカスタマイズしたいのでゼロから構築したいと思っています。


引用返信 編集キー/
■89743 / inTopicNo.4)  Re[1]: C#でガンチャート式スケジューラ
□投稿者/ 魔界の仮面弁士 (2002回)-(2018/12/19(Wed) 20:14:13)
No89737 (サラリーマン さん) に返信
> DrawRectangleで描画してしまうとマウスでの操作ができないので

すべて独自描画なのであれば、描画すべき座標はデータはすでに持っているはずですし、マウス操作された座標も拾えるわけなので、Invalidate してその都度再描画してみては如何でしょう。

引用返信 編集キー/
■89745 / inTopicNo.5)  Re[2]: C#でガンチャート式スケジューラ
□投稿者/ Jitta (433回)-(2018/12/19(Wed) 20:42:05)
昔は ラバーバンド で描いていたのだけれど、これを検索して出てきた結果を Windows 10 で使うと、どうもよろしくない。
元の絵はそのままに、ラバーバンドにしたいものを描いた別の絵を作って、差し替え差し替えするというのがよろしいようです。
引用返信 編集キー/
■89755 / inTopicNo.6)  Re[3]: C#でガンチャート式スケジューラ
□投稿者/ ぶなっぷ (189回)-(2018/12/20(Thu) 14:29:45)
同じようなものを作りましたが、普通にマウスの操作できてますよ。

メイン画面にDrawRectangle()でガントチャートを描画してるでしょ。

私の場合、メイン画面に子ウィンドウを追加して、
そこにドラッグターゲットを描画するようにしてます。

メイン画面とドラッグターゲットのガントチャートは共通メソッドで
DrawRectangle()するようにしてます。


共通メソッド内で、ドラッグターゲットとしての描画時は、
透明な青色ウィンドウを上に重ねて、全体を青っぽく見せてドラッグ
ターゲットぽく見せています。

ドラッグターゲットのマウスカーソルの動きへの追従は、
DrawRectangle()の座標を動かすか、子ウィンドウ自体の位置を動かせば
OKです。

肝心のドラッグ&ドロップの実装方法ですが、以下のページが分かりやすい
かな。
フレームワーク(WinForms, WPF, ...)の記載がないけど、いろんなフレーム
ワークの例が載ってます。
http://sgry.jp/pgarticles/dragdrop.net.html

DoDragDrop()呼び出す直前に、子ウィンドウを表示、
DragOver()でドラッグターゲットのマウスカーソル追従、
Drop()で子ウィンドウを非表示 する感じです。

引用返信 編集キー/
■89781 / inTopicNo.7)  Re[4]: C#でガンチャート式スケジューラ
□投稿者/ サラリーマン (3回)-(2018/12/25(Tue) 19:29:01)
No89755 (ぶなっぷ さん) に返信
> 同じようなものを作りましたが、普通にマウスの操作できてますよ。
>
> メイン画面にDrawRectangle()でガントチャートを描画してるでしょ。
>
> 私の場合、メイン画面に子ウィンドウを追加して、
> そこにドラッグターゲットを描画するようにしてます。
>
> メイン画面とドラッグターゲットのガントチャートは共通メソッドで
> DrawRectangle()するようにしてます。
>
>
> 共通メソッド内で、ドラッグターゲットとしての描画時は、
> 透明な青色ウィンドウを上に重ねて、全体を青っぽく見せてドラッグ
> ターゲットぽく見せています。
>
> ドラッグターゲットのマウスカーソルの動きへの追従は、
> DrawRectangle()の座標を動かすか、子ウィンドウ自体の位置を動かせば
> OKです。
>
> 肝心のドラッグ&ドロップの実装方法ですが、以下のページが分かりやすい
> かな。
> フレームワーク(WinForms, WPF, ...)の記載がないけど、いろんなフレーム
> ワークの例が載ってます。
> http://sgry.jp/pgarticles/dragdrop.net.html
>
> DoDragDrop()呼び出す直前に、子ウィンドウを表示、
> DragOver()でドラッグターゲットのマウスカーソル追従、
> Drop()で子ウィンドウを非表示 する感じです。

いろいろご教授有難う御座いました。
頑張ってみます。


引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ