社区
C#
帖子详情
关于C#实现turbo c 中window函数的控件.
bbbbbb888888
2009-03-09 05:31:29
TC中的window函数可以定义,多少行,多少列的黑屏模式,比如80列,40行.
虽然那种黑屏方式比较落后了,感觉都已经被淘汰了,但是我们的项目还是需要的.
不知道有没有用C#实现过的?
我的想法只能是用GDI+自己重写一个控件,平且应该是矩阵式的,就是说同一列不同行的字符应该是对其的,
但是小弟没做过GDI的东西,有点不知道如何下手,
希望大家能给点建议,欢迎讨论.顺便散点分.
...全文
197
20
打赏
收藏
关于C#实现turbo c 中window函数的控件.
TC中的window函数可以定义,多少行,多少列的黑屏模式,比如80列,40行. 虽然那种黑屏方式比较落后了,感觉都已经被淘汰了,但是我们的项目还是需要的. 不知道有没有用C#实现过的? 我的想法只能是用GDI+自己重写一个控件,平且应该是矩阵式的,就是说同一列不同行的字符应该是对其的, 但是小弟没做过GDI的东西,有点不知道如何下手, 希望大家能给点建议,欢迎讨论.顺便散点分.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bbbbbb888888
2009-03-10
打赏
举报
回复
在寻求更好的解决方法.或者现成的控件.
bbbbbb888888
2009-03-10
打赏
举报
回复
顶着有分,嘿嘿.
bbbbbb888888
2009-03-10
打赏
举报
回复
谢谢,jinjazz,
不过我还要把原来程序的逻辑放入Console中也挺麻烦的,现在改可能来不及嘞.
bbbbbb888888
2009-03-10
打赏
举报
回复
把控制台程序嵌入到 WinForm 中执行
引自-cnblogs 阳春三月
我们经常有一些用控制台实现的简单应用,这种应用一般都是一步一步“向导”式执行,在每一步上收集用户的输入,最后得到程序执行的结果。但有些用户可能不喜欢用键盘操作的命令行界面,还是愿意用鼠标点点按钮的 Windows 窗体。另外控制台程序的参数输入是按顺序执行,到了下一步就不能再更改前面的输入了,而在 Windows 窗体上我们可以等用户把所有需要的参数都已录入完成并进行了验证后,再一次性提交执行。要实现这两种需求,一个好的办法就是把控制台程序“嵌入”到 WinForm 中执行,这样既能给用户以良好的使用体验,又能复用已有的控制台程序。
所谓“嵌入”执行,是指写一个 WinForm 程序去调用控制台程序,并向控制台程序传入参数数据,读取控制台的输出。其中的关键是重定向控制台程序的输入输出,用到的主要类型为 Process、ProcessStartInfo、StreamWriter。
假设已有控制台程序 DemoConsole.exe,具体步骤如下:
1. 新建 Windows 应用程序,在 Form 窗体中设置启动 DemoConsole、接受用户输入数据和显示 DemoConsole 输出的界面元素,比如按钮、文本框等。
2. 用 DemoConsole.exe 文件名初始化 ProcessStartInfo,并设置 ProcessStartInfo 对象的相关属性值,使其不再使用 Windows 外壳程序执行,不显示窗体,还要重定向标准输入和输出。
3. 初始化 Process,设置 Process 对象的 StartInfo 属性值为步骤 2 中得到的 ProcessStartInfo 对象。处理 Process 对象的 OutputDataReceived 事件,可以获取并显示 DemoConsole 的输出。调用 Process 对象的 Start 方法启动 DemoConsole 进程。
4. 访问步骤 3 中得到的 Process 对象的 StandardInput 属性,可以得到一个 StreamWriter 类型的对象,在调用 Process 对象的 BeginOutputReadLine 方法后,就可以通过 StreamWriter 对象的 WriteLine 方法向 DemoConsole 传入参数数据,驱动 DemoConsole 执行。
5. DemoConsole 执行完毕后,把 StreamWriter 和 Process 对象关闭。
我们这里用到的 Process 类型其功能是非常强大的,当然不仅仅可以访问控制台程序,实际上它对本地和远程的各种 Windows 程序都可以控制和监视。但本文重点不在此,就不再赘述了。
----
有demo先来看看先.
jinjazz
2009-03-10
打赏
举报
回复
先做一个console,然后
http://blog.csdn.net/jinjazz/archive/2008/05/07/2413039.aspx
bbbbbb888888
2009-03-10
打赏
举报
回复
TO:jinjazz
重定向是指的Console么?
请指教...
jinjazz
2009-03-10
打赏
举报
回复
[Quote=引用 10 楼 bbbbbb888888 的回复:]
谢谢各位的建议,richtextbox,暂时不能满足要求.
这个控件要嵌入winform中的,恐怕Console也不行把.
不过C#模拟dos,还没看过,我去找找,再找本GDI的书看看.
[/Quote]
重定向就可以了
jlj84237485
2009-03-10
打赏
举报
回复
帮顶一下
bbbbbb888888
2009-03-10
打赏
举报
回复
另外我记得上大学的时候用过Cterm那种软件.它那种黑屏的东西是什么做的?应该不是TC的东西.
bbbbbb888888
2009-03-10
打赏
举报
回复
谢谢各位的建议,richtextbox,暂时不能满足要求.
这个控件要嵌入winform中的,恐怕Console也不行把.
不过C#模拟dos,还没看过,我去找找,再找本GDI的书看看.
bbbbbb888888
2009-03-10
打赏
举报
回复
哎,结贴吧.
空心兜兜
2009-03-09
打赏
举报
回复
没有研究过...
jinjazz
2009-03-09
打赏
举报
回复
ConsoleApplication就可以了,设置缓冲区大小Console.SetBufferSize,不过不能比窗体小
悔说话的哑巴
2009-03-09
打赏
举报
回复
去下一本《GDI+图形程序设计》电子书
wangping_li
2009-03-09
打赏
举报
回复
去下一本《GDI+图形程序设计》电子书来看看
wuyi8808
2009-03-09
打赏
举报
回复
控制台程序?
_see_you_again_
2009-03-09
打赏
举报
回复
参考c#模拟dos的源码
createTim
2009-03-09
打赏
举报
回复
简单看一下GDI+ hello word 画图就应该明白了
tweeger
2009-03-09
打赏
举报
回复
RichTextBox不能满足要求吗?
bbbbbb888888
2009-03-09
打赏
举报
回复
自己up
C,C++,
C#
,Java?这些有什么区别?
c,c++,
c#
,java?这些有什么区别? C语言: 目前最著名、最有影响、应用最广泛的
window
s、linux和UNIX三个操作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件
中
最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?由此可以肯定的说,c语言是一门十分优秀而又
Python与C语言基础对比(Python快速入门)
[c,c++,
c#
,java?这些有什么区别?转] c,c++,
c#
,java?这些有什么区别? C语言: 目前最著名、最有影响、应用最广泛的
window
s、linux和UNIX三个操作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件
中
最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?...
C#
文件操作大全
1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1);2.创建文件//using System.IO;File.Create(%%1);3.删除文件//using System.IO;File.Delete(%%1);4.
C++builder,visual C++,
C#
,C区别
C++ Builder C++ Builder是由Borland公司 继Delphi之后又推出的一款高性能可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把
控件
(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了
Window
s公用特性且具有完全可扩展性(包括全面...
C#
文件操作
1.创建文件夹 //using System.IO; Directory.CreateDirectory(%%1); 2.创建文件 //using System.IO; File.Create(%%1); 3.删除文件 //using System.IO; File.Delete(%%1); 4.删除文件夹 //using System.IO; Directory.Delete(%%1);
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章