onpaint

    13熱度

    4回答

    我想直接在C#中的桌面上繪製。從搜索一下,我最終使用了桌面HDC的一個Graphics對象(null)。然後,我使用這個Graphics對象正常繪製。 問題是當屏幕的任何部分被重新繪製時,我的形狀會丟失。我嘗試了一個While循環,但實際上最終的繪圖速度與應用程序的速度一樣快,這不是桌面的更新速率。 通常情況下,我需要把我的繪製代碼在「的OnPaint」事件,但這樣的事情並沒有爲桌面存在。 我該怎

    4熱度

    3回答

    我試圖顯示一些數據的非常大的圖形表示。我正在使用位圖來永久存儲圖像,並在我的窗體上的PictureBox控件的onPaint中使用e.Graphics.DrawImage(myBitmap, new Point(0,0))。我注意到(並在其他網站上提及過),如果我的圖片的高度或寬度大於2^15,我會得到一個例外,但我沒有找到任何有關此限制的官方文檔。 這是2^15圖像大小限制一個明確的,官方部分G

    3熱度

    2回答

    我有3個數據圖通過它們的繪畫事件繪製。 當我有需要插入圖形的數據時,我會調用controls invalidate()命令。 第一個控件的繪畫事件實際上爲其他2個圖形創建了一個位圖緩衝區,以避免重複長循環。 所以無效命令是按特定順序(1,2,3)。這很好,但是當圖形數據到達數據通常開始滾動的圖形窗口(PictureBox)的末端時,繪製事件以錯誤的順序(2,3,1)開始觸發。 有沒有人遇到過這個?

    3熱度

    1回答

    我正在製作一個簡單的窗體,其中有兩個半透明文本 ,我把它放在繪畫事件中。只有當我擴大形式時,文字會變得更暗和顆粒感。 actualy我想要更深的顏色,但不是粒狀效果。 這裏是我的代碼片段: private void sbfToolBox_Paint(object sender, PaintEventArgs e) { System.Drawing.Graphics formGraphi

    0熱度

    1回答

    我想弄清楚爲什麼當我在透明窗口上調用InvalidateRect時我得到一個空的更新矩形。這個想法是,我在窗口上繪製了一些東西(它暫時被切換爲繪圖的1/255的alpha),然後我將它切換到完全透明模式(即alpha爲0)以便與桌面&能夠將圖形圍繞桌面上的屏幕移動。 當我嘗試移動圖形,我得到&用它來調用InvalidateRect它的邊框,這樣: InvalidateRect(m_hTarget,

    0熱度

    2回答

    我希望在使用GDI +的C#Windows窗體中繪製表格。當矩形的數量對於要在窗體上顯示的所有矩形太大時,它不會滾動。並且不能訪問那些不適合這種形式的人。 我需要做什麼才能看到我在表單上繪製的所有內容? 謝謝。

    0熱度

    1回答

    我想問一些關於如何在Compact Framework中優化重繪的建議? GetHashCode()沒有幫助,因爲它總是返回不同的哈希碼。 無論如何,我有一個程序,您可以在運行時拖動和調整對象的大小。這個對象是一個透明的對象,它有一個PNG圖像,它也可以根據對象客戶端大小動態調整大小。儘管我注意到了(例如,我有4個透明對象,並且正在拖動或調整其中一個),但即使3不移動,它們中的4個也會觸發OnPa

    1熱度

    1回答

    我有一個現有的OnPaint方法,得出了一些形狀: protected override void OnPaintBackground(PaintEventArgs e) { Graphics g = e.Graphics; g.CompositingQuality = CompositingQuality.HighQuality; Brush g

    0熱度

    2回答

    我在C#和.Net 2.0中開發。我有一個用戶控件繪製單元格(列),取決於單元格的最大數目。有一些繪圖程序可以生成必要的單元格。有一個屬性NumberOfCells可以調整此控件的高度; CELLHEIGHT_CONSTANT * NumberOfCells。 OnPaint()方法被覆蓋(繪製單元數量的代碼)。 還有一個用戶控件包含一個面板,其中包含上面的userControl1。有一個屬性Nu

    0熱度

    1回答

    想象以下場景: this.SetStyle(ControlStyles.UserPaint, true); //this doesn’t change anything … void OpenSomeForm() { SomeForm sf = new SomeForm(); sf.SomeEvent += new … (SomeEventOcurred);