gdi-c# GDI绘图 winform程序

问题描述

c# GDI绘图 winform程序


如图 分为两个区域
除上述蓝色背景区域外,下面的黑色整个部分我想换个颜色,以下是代码,请问最后的零的位置如何修改 (也就是修改下面的部分的高度)

private void DrawTrainGraph(Graphics g)
{
//先绘制一个矩形区,作为列车区的底图
using (Brush brush = new SolidBrush(TraGraphBKColor))
{
g.FillRectangle(brush, -orgView.X / ScaleX, -orgView.Y / ScaleX, Width / ScaleX, 0 / ScaleY);
}

解决方案

using (Brush brush = new SolidBrush(TraGraphBKColor))
->
using (Brush brush = new SolidBrush(Color.White))

解决方案二:

那个没准不是画上去的颜色,就是控件的背景色,你看看设计界面属性

解决方案三:

关于C#GDI绘图
C# GDI+ 绘图
C#GDI绘图

解决方案四:

解决方案五:

这个好办啊,你先把整个背景设置成灰色,然后在重绘上面蓝色的部分就行了啊(如果你上面的站名本身就是重绘的,如果都是控件就更好办了,直接设置颜色参数就好了啊)

时间: 2025-01-26 16:49:08

gdi-c# GDI绘图 winform程序的相关文章

GDI+编程基础(一)GDI+ Vs GDI

本文配套源码 一.GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理.GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行.例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作.它把windows系统中的图形输出转换成硬件命令然后发送给硬件设备.GDI是以文件的形式存储在系统中,系统需要输出图形

托管C++中GDI+和GDI混合编程技术

1.引言 早期的Windows程序中,可以使用GDI(Graphics Device Interface,图形设备接口)在一个窗体中绘制图形.文本和图像,但它的功能比较有限,尤其是图像处理方面.GDI+是GDI的一个新版本,它不仅在GDI基础上添加许多新特性,而且对原有的GDI功能进行优化,并在为开发人员提供的二维矢量图形.文本.图像处理.区域.路径以及图形数据矩阵等方面构造了一系列相关的类.其中,图形类Graphics是GDI+接口中的一个核心类,许多绘图操作都可用它来完成. 与GDI相比,G

winform-c# WinForm程序动态模拟流向及流速。

问题描述 c# WinForm程序动态模拟流向及流速. c#WinForm程序,关于工业实时项目,需要绘制两个电表盘及连线.连线需要根据两个电表盘的差值显示出动态效果,显示流向及流速.大家有什么好想法及好控件,给点建议. 解决方案 电表盘直接用图片,gdi 花连线,自己弄个控件 解决方案二: 哦.电表盘可用Charing,连线我也想定义控件,东西多了,GDI不太好控制.想用LineShape试试.

Windows GDI和GDI+区别(实例剖析)

1.概述         GDI在全称是Graphics Device Interface,即图形设备接口.是图形显示与实际物理设备之间的桥梁.GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦.例如显示一张位图,我们需要进行"创建位图,读取位图文件信息,启用场景设备,调色板变化"等一系列操作.然而有了GDI+,繁琐的步骤再次被简化.顾名思义,GDI+就是GDI的增强版,它是微软在Windows 2000以后操作系统中提供的新接口. 2.GDI+主要功能       

winform程序textbox滚动条保持在最下面 内容不闪烁

在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显示竖状滚动条),显示内容过多时就会出现竖状滚动条. 默认情况下,当textbox内容改变时,winform会自动把textbox的滚动条定位到textbox的最上面.但这显然不是我们想要的结果,比如我们在开发一个聊天程序时,当发送了一条消息后,却还要把滚动条拖到最下面才能看到,这就让人火大了. 所以

关于 WinForm程序的登陆处理

作者:罗会涛WinForm程序一般都是从一个Form的static void Main()开始运行,暂且称此Form为MainForm.Main函数的一般写法是:static void Main(){  Application.Run(new Form1());} 这样的写法有一个问题:如果需要从Form1中调出另一个Form,必须保持Form1不能关闭,比如在一个Button的Click中调出Form2:private void button1_Click(object sender, Sys

winform程序对界面上控件的统一控制【二】组件版

继上篇文章winform 程序对界面上控件的统一控制[一](赋值\清空\验证- -) ,本篇文章将实现一个同样功能的Component(组件). 先看看组件的实现,如下所示: 代码一 public partial class CtrlValidation : Component { public CtrlValidation() { InitializeComponent(); typeCache = new TypeCache(); } public CtrlValidation(IConta

利用WCF的Duplex服务向Winform程序推送消息

先看运行效果:在网页中发送消息[如图],利用WCF的Duplex服务向Winform 程序推送消息,Winform端接收到消息, 先建立两个项目,一个WebForm 项目和一个WinForm项目,并在项目下 建立好各自需要的文件 SendMessage.aspx 是发送消息的Web页面 ISendMessageService.cs 和 SendMessageService.svc用来实现WCF的 Duplex服务 GetMessageForm.cs 是接收消息的Winform窗口 当然, 还需要

使用Windows PowerShell创建WinForm程序

Windows PowerShell最突出之处便在于.NET类库的支持,很大的扩展了脚本的 能力.这使我们能直接在脚本中通过System.Windows.Forms程序集来创建窗口. 今天初次尝试了一下在PowerShell下创建WinForm程序,将完成的这个简单的 例子分享给大家. 如同在C#编写WinForm程序中一样,先创建一个Form类的实例,然后初始化: 添加流式布局面板,在面板上加了一个文本框和一个按钮,给控件添加必要的事 件处理.当然使用C#的时候通常是VS自动为我们生成一个窗体