2013-03-05 39 views
-1

我正在尋找一種方式來開發這樣的: http://img15.hostingpics.net/pics/193313Capture.jpg年曆的Winform C#

正如你所看到的,我會需要添加事件(繪製矩形)轉換爲日曆。雖然我無數小時的研究,但我找不到任何接近我想要的東西,所以我會從頭開始。

任何想法,我如何能夠做到這一點?我應該使用datagridview嗎?

+1

謝謝你的問題不同細胞中的代碼!但是,這並不是Stack Overflow可以回答的問題。 [閱讀本文獲得更多信息](http://stackoverflow.com/faq#dontask)一旦你對你正在編寫的代碼遇到的具體問題有特定的疑問,請隨時返回。 – 2013-03-05 08:30:19

+2

@AndrewBarber在主持人選舉中好運!閱讀這個有用的回覆讓我覺得我正確地提升了你的提名。 – Default 2013-03-05 08:34:24

+0

如果你想畫很多,比如箭頭,很多線條,你可以試試WPF而不是Winforms。如果你只需要顯示那個日曆而不編輯它,我可能只使用繪圖庫而沒有數據網格。 – SwissCoder 2013-03-05 08:37:38

回答

1

達到此目的的最佳方法是使用TableLayoutPanel Class。特別看方法SetColumnSpanSetRowSpan

換畫從here

private void Form_Load(object sender, EventArgs e) { 
    this.tableLayoutPanel1.CellPaint += new TableLayoutCellPaintEventHandler(tableLayoutPanel1_CellPaint); 
} 


void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e) 
{ 
    if (e.Row == 0 || e.Row == 2) { 
     Graphics g = e.Graphics; 
     Rectangle r = e.CellBounds; 
     g.FillRectangle(Brushes.Blue, r); 
    } 
} 
+0

該日曆將處於只讀模式。我沒有想過繪圖庫,認爲開發太痛苦了。實際上可能很有趣。 我也會研究TableLayoutPanel類,看起來好像我漫長的一天。 – user2071260 2013-03-05 09:10:53

+0

@ user2071260 so tablelayoutpanel剛剛完美,請參閱編輯 – VladL 2013-03-05 09:42:31

+0

我瞭解邏輯。謝謝你,先生 !! – user2071260 2013-03-05 10:06:32