2

WinformのMonthCalendarコントロールで、今日のラベルを表示したくないときに、カレンダーの上下に奇妙な白い境界線が表示されます。

これを無効にする方法はありますか?

4

1 に答える 1

6

私もこれを見ていると思います。カレンダーのサイズは、GetMinReqRect()という名前のプライベートメソッドによって計算されます。ShowTodayがオフの場合、大きすぎるサイズを返します。このメソッドのリファレンスソースへのコメントは次のとおりです。

MonthCalendarを表示するために必要な最小サイズを取得するために内部的に使用されます。これが必要なのは、showTodayがfalseに設定されている場合、NativeMethods.MCM_GETMINREQRECTが誤った値を返すためです。

Windowsグループの誰かがバグを修正し、WFグループにそのことを伝えるのを忘れたようです。当然のことながら、WFグループを見つけるのは非常に困難です。

明らかな回避策は見当たりません。メソッドはプライベートです。SetBoundsCore()はサイズを適用し、それをバイパスする方法はありません。バグをconnect.microsoft.comに投稿することはできますが、「ヘルプを得るためにフォーラムに投稿する」というブラシオフが表示されます。

于 2009-12-29T21:01:37.910 に答える