C#控制台如何清屏呀?谢了先
C#控制台如何清屏呀?谢了先
大家帮帮忙哈,不知道的也帮忙顶一下哈,谢谢哈
问题点数:20、回复次数:9Top
1 楼webfactory(jack)回复于 2005-05-28 11:56:20 得分 2
清屏???!!!
没看懂,windows下还要清屏吗?还是你在用控制台程序Top
2 楼wmt85(深山老翁)回复于 2005-05-28 12:03:41 得分 3
自己参考一下,http://www.c-sharpcorner.com/Code/2002/May/ExtendSysConsole.aspTop
3 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-05-28 12:19:37 得分 0
cls?Top
4 楼fabian(蓝色布谷鸟)回复于 2005-05-28 12:41:36 得分 2
我也不太明白,不过帮你顶一下吧。Top
5 楼Macosx(结贴)回复于 2005-05-28 13:12:47 得分 2
搜一下 以前问过好多次了
System.Console.Clear()
.net framework 2.0Top
6 楼justioo(周银辉)回复于 2005-05-28 18:24:10 得分 0
控制台程序的清屏哈,
谢谢大家 dingTop
7 楼JunlanGuo(SillyGirl)回复于 2005-06-08 10:19:35 得分 1
没找到System.Console.Clear()Top
8 楼deyunanhai(bocelli)回复于 2005-06-08 10:47:45 得分 0
调用cmd,然后使用cls就可以了Top
9 楼JunlanGuo(SillyGirl)回复于 2005-06-08 13:05:07 得分 10
找到了一个清屏的例子
namespace clears
{
using System;
using System.Runtime.InteropServices;
using System.Text;
class StdHandleEnum
{
public const int STD_INPUT_HANDLE = -10;
public const int STD_OUTPUT_HANDLE = -11;
public const int STD_ERROR_HANDLE = -12;
};
// This sructure contains a screen coordinate.
class cls
{
internal struct COORD
{
public short X;
public short Y;
}
// This stucture contains information about the
// console screen buffer.
[StructLayout(LayoutKind.Sequential, Pack=1)]
internal struct CONSOLE_SCREEN_BUFFER_INFO
{
public COORD Size;
public COORD p1;
public short a1;
public short w1;
public short w2;
public short w3;
public short w4;
public COORD m1;
}
// We need these four functions from KERNEL32.DLL.
// The GetStdHandle() function returns a handle to any
// standard input or output.
[DllImport("kernel32.dll")]
public static extern int GetStdHandle(int nStdHandle);
// The GetConsoleScreenBufferInfo() returns information
// about the console screen buffer so we know how much to
// clear.
[DllImport("kernel32.dll")]
public static extern bool GetConsoleScreenBufferInfo(int hConsoleOutput, out CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
// The SetConsoleCursorPosition() places the cursor on
// the console screen.
[DllImport("kernel32.dll")]
public static extern bool SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition);
// The FillConsoleOutputCharacter() allows us to place
// any character on the console screen. Using a space
// clears the display area.
[DllImport("kernel32.dll",SetLastError=true,CharSet=CharSet.Auto)]
public static extern bool FillConsoleOutputCharacter(int hConsoleOutput, short cCharacter, int nLength, COORD WriteCoord, out int lpNumberOfCharsWritten);
[STAThread]
static void Main(string[] args)
{
// Needed ask Windows about the console screen
// buffer settings.
CONSOLE_SCREEN_BUFFER_INFO CSBI;
// Handle to the output device.
int hOut;
// Number of characters written to the screen.
int CharOut;
// Home cursor position.
COORD Home;
// Write some data to the screen.
Console.Write("Clear the Screnn!" +
"\r\nPress any key...");
Console.ReadLine();
// Clear the screen.
// Begin by getting a handle to the console screen.
hOut = GetStdHandle(StdHandleEnum.STD_OUTPUT_HANDLE);
// Get the required console screen buffer information.
GetConsoleScreenBufferInfo(hOut, out CSBI );
// Set the home position for the cursor.
Home.X = 0;
Home.Y = 0;
// Fill the console with spaces.
FillConsoleOutputCharacter(hOut,
(short) ' ',
CSBI.Size.X * CSBI.Size.Y,
Home,
out CharOut);
// Place the cursor in the upper left corner.
SetConsoleCursorPosition(hOut, Home);
// Show the screen is clear.
Console.ReadLine();
}
}
}
Top




