DataGridViewの行を通して線を描こうとしています。アイデアはガントチャートを完成させることです。今は棒グラフを描くことができます。しかし、タスクの前に別のタスクがある場合は、それらを結ぶ線を描く必要があります。行を介してDataGridViewの線を描く
私は今の私場所です:私は必要なもの
は、コネクタを描画するためには、例えば、 "Tarea 6" と "Tarea 7" 楕円に
DataGridViewの行を通して線を描こうとしています。アイデアはガントチャートを完成させることです。今は棒グラフを描くことができます。しかし、タスクの前に別のタスクがある場合は、それらを結ぶ線を描く必要があります。行を介してDataGridViewの線を描く
私は今の私場所です:私は必要なもの
は、コネクタを描画するためには、例えば、 "Tarea 6" と "Tarea 7" 楕円に
正直なところ、それは難しいようです。これにはCellPainingを使用してください。しかし、私はそれがあなたが必要なものを実装するのは苦痛かもしれないと仮定します。
には、例えば、RowPostPaint
イベントをお試しください:
e.Graphics.FillRectangle(Brushes.Red, 20, e.RowBounds.Top + 6,
e.RowBounds.Width, CInt(e.RowBounds.Height/2));
Amen。問題は、RowBoundsがただ1つの行だけであることです。 – Nane
@ネーン、あなたはそれを取得していない、それは各行のためにレンダリングされるので、特定の行を描画する場合if(e.RowIndex == something)e.Graphics ...そうでなければ、条件 –
ガント青/赤のバーを描画するために管理しましたか?あなたは同じ方法を使用してコネクタを描かないのはなぜですか? – digEmAll
@digEmAll。すべてのバーは、OnCellPaintをオーバーライドして一意のセルに描画されます。赤はタスクが遅れていることを意味し、黒は時間通りにあることを意味します。青色のバーはタスクで、グレーのグループはグループで、最初の行の黒いバーはすべてのプロジェクトの進捗状況です。問題は、ある行に星があり、別の行で終わる行を描きたい場合は、最初の行の行だけを描くことができます。これが私の描画領域です。 – Nane