我目前有一個控制檯應用程序。我將如何繪製圖形到屏幕上,而不必擁有一個表單。如何在沒有表單的C#中繪製圖形
回答
編輯 - 基於CuddleBunny的評論,我創建了一個基本上「在屏幕上繪製圖形」的類。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
class test : Form
{
public test() : base()
{
this.TopMost = true;
this.DoubleBuffered = true;
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
this.BackColor = Color.Purple;
this.TransparencyKey = Color.Purple;
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawRectangle(Pens.Black, 0, 0, 200, 200);
this.Invalidate(); //cause repaint
}
public static void Main(String[] args)
{
Application.Run(new test());
}
}
}
希望它有幫助。
老錯誤的答案
你可以得到另一個窗口的HWND和借鑑一下。我不知道如何在整個屏幕上畫畫,我一直都在想我自己。
一個簡單的例子:
Process p = Process.GetProcessById(0); //id of the process or some other method that can get the desired process
using (Graphics g = Graphics.FromHwnd(p.MainWindowHandle))
{
g.DrawRectangle(Pens.Black, 0, 0, 100, 100);
}
你必須創建某種形式的窗口繪製圖形。你不能直接畫到屏幕上。
我並不完全確定,但這個應用程序稱爲Puush(可讓您上傳屏幕截圖)http://puush.me/在屏幕上繪製一個矩形以供您選擇要捕捉的屏幕區域,不需要任何窗口。不是廣告,但我總是想知道它是如何做到的。 – Zhanger
我確定它使用「窗口」,但它所繪製的窗口沒有任何鉻。您可以通過創建Forms應用程序來重新創建這種效果,將窗口樣式設置爲「無」,並將背景設置爲透明。之後,用戶將看到的唯一東西是您添加到表單的對象。 在puush.me的情況下,我相信它會創建一個帶有透明背景的全屏窗口。 – CuddleBunny
CuddleBunny,這是值得一個獨立的答案(尤其是如果你用一些裸骨頭代碼榨取它)。 –
如果創建全屏直接繪製表面,則可以使用directx在沒有窗口的情況下在整個屏幕上進行繪製。屏幕是你所有的(根本沒有Windows桌面)。
- 1. 如何在C#中繪製熱圖形?
- 2. 如何在C#中繪製XY圖形?
- 3. 圖形沒有繪製在paintComponent(Graphics)中?
- 4. 在c中繪製圖形
- 5. zedgraph沒有繪製圖形
- 6. 如何在C#中繪製簡單的圖形?
- 7. OpenGL沒有繪製任何圖形
- 8. 如何在Google電子表格單元中繪製圖形?
- 9. 在C中繪製圖形(Ubuntu的)
- 10. 如何在c中的圖片框上繪製圖形#
- 11. 用C++繪製圖形和圖表的自由簡單方法?
- 12. 如何使用c繪製圖形?
- 13. C#中繪製圖元的圖形庫?
- 14. 如何在沒有背景的GraphView中繪製圖表?
- 15. 有沒有繪製我的C++類和方法的圖形表示的工具?
- 16. c#webbrowser表單繪製矩形
- 17. 使用zedGraph在C#中繪製圖形
- 18. 在C++窗口中繪製圖形
- 19. 在C#中繪製圖形WPF
- 20. 如何在asp.net 2.0中繪製圖形
- 21. 如何在React Native中繪製圖形?
- 22. 如何在Java中繪製圖形
- 23. 如何在R中繪製圖形?
- 24. 如何在gnuplot中繪製條形圖?
- 25. 如何在Android中繪製圖形?
- 26. 如何在eclipse中繪製matplotlib圖形?
- 27. 如何在CSS中繪製圖形?
- 28. Matplotlib:如何在表格單元格內繪製條形圖?
- 29. 在QML中繪製簡單條形圖
- 30. Windows窗體圖形沒有繪製
爲什麼你不只是創建一個窗體並在輔助線程中運行它? –
因爲我所做的不需要任何形式。 –
窗體只是一個窗口的抽象。您可以跳過它是一種表單的事實,並將其用作常見窗口。你也可以使用windows api CreateWindowEx跳過Windows.Form dll的使用,但是它會要求你做很多工作,因爲在這種情況下你沒有任何GDI函數。 –