2010-07-31 25 views
6

Chúng ta có thể vẽ hình ảnh và vẽ văn bản ... bên ngoài một hình thức .. tôi có nghĩa là theo nghĩa đen bên ngoài ...Draw/Sơn Mẫu Outside

tôi biết câu hỏi ngu ngốc của nó để hỏi nhưng CAN chúng tôi ...

+1

hoặc không có một hình thức – Moon

Trả lời

10

Bạn có thể "lừa gạt" bằng cách tạo biểu mẫu và đặt thuộc tính TransparentColor thành màu nền của nó, sau đó vẽ lên đó. Tuy nhiên, điều này ngăn bạn vẽ màu trong suốt vì nó sẽ không hiển thị.

Hoặc bạn thực sự có thể vẽ trực tiếp lên màn hình.

[DllImport("User32.dll")] 
public static extern IntPtr GetDC(IntPtr hwnd); 
[DllImport("User32.dll")] 
public static extern void ReleaseDC(IntPtr dc); 

IntPtr desktopPtr = GetDC(IntPtr.Zero); 
Graphics g = Graphics.FromHdc(desktopPtr); 

// Do graphics manipulation here with "g" object 

// Very important - free desktop graphics. 
g.Dispose(); 
ReleaseDC(desktopPtr); 
+4

Vấn đề với vẽ trực tiếp vào cửa sổ máy tính để bàn là nó sẽ không dính. Lần sau khi máy tính để bàn được nhắc để sơn lại, bản vẽ của bạn sẽ biến mất. Trong khi bạn có thể móc bơm thông báo của máy tính để bàn và vẽ lại bất cứ khi nào nó vẽ lại, điều này là quá mức cần thiết. Sử dụng cửa sổ trong suốt toàn màn hình sở hữu cửa sổ chính của bạn là cách rẻ nhất để đến đó. – Tergiver

1

Bạn không thể vẽ một thứ gì đó không tồn tại. Khu vực bên ngoài của biểu mẫu, theo định nghĩa đó, không tồn tại trong ngữ cảnh của biểu mẫu.

Tôi đồng ý với Henk, tuy nhiên, bạn có thể vẽ trên các biểu mẫu trong suốt.