Tag: 面板

清除透明面板C#的图形

我有一个WebBrowser控件,顶部有一个透明面板,我要做的是在透明面板上围绕鼠标hover在页面中的元素上绘制一个矩形。 到目前为止,我已经完成了所有工作,除了在绘制下一个矩形之前没有清除面板,所以我到处都是矩形。 inheritance人使用的代码。 paneGraphics = drawingPane.CreateGraphics(); Rectangle inspectorRectangle; inspectorRectangle = controller.inspectElement(); paneGraphics.DrawRectangle(new Pen(Color.Blue, 1), inspectorRectangle); drawingPane.Invalidate(); 我尝试过使用drawingPane.clear(),但只是将屏幕变为白色。

C#面板随着碰撞而移动

我是C#和Winforms的新手,并尝试制作一个移动面板。 它应该向右移动直到窗口结束然后向左移动。 它应该从一侧到另一侧反弹。 但经过几个小时的尝试后发生的唯一事情是它向左移动并停止。 使用此表单工具: Timer = tmrMoveBox (interval: 50) Panel = pnlBox Label = lblXY (for showing the X and Y coordinates in the form) 这是我的第一个最好的尝试: private void tmrMoveBox(object sender, EventArgs e) { if (pnlBox.Location.X <= 316) { for (int i = 0; i = 0) { for (int i = 0; i >= […]

PaintEvent没有覆盖

我在C#中有一个Windows窗体应用程序,带有绘图面板和一个按钮 – 用于绘制线条。 单击该按钮时,可以绘制2个随机点的直线。 Pen p = new Pen(Color.Black, 5); //point for start Point ps = new Point(); //point for end Point pe = new Point(); private void drawPanel_MouseDown(object sender, MouseEventArgs e) { ps.X = eX; ps.Y = eY; pe = ps; } private void drawPanel_MouseMove(object sender, MouseEventArgs e) { // when button is clicked […]

C#Panel作为MDI容器

在C#中,我想创建一个具有MDI容器属性的面板,即。 isMdiContainer = true。 我试过这样的事 form.MDIParent = this.panel1; 但那不行。 有什么建议?

如何在C#的多面板中添加相同的控件?

我有一个名为button1的按钮和两个面板:panelA和panelB(默认情况下可见为false)和以下代码(WinForms): panelA.Controls.Add(button1); panelB.Controls.Add(button1); panelB.Visible = true; // I see the button1 panelA.Visible = true; // I don’t (ofcoz panelB.Visible is still false) MessageBox.Show(panelA.Controls.Contains(button1).ToString); //False, why? 我不知道为什么? 也许这对你来说是一个愚蠢的问题,但我是新手,所以我对这个问题真的不知道吗? 你能帮助我吗? 谢谢!

渐变面板在最小化时显示红叉,然后恢复

我不知道为什么会这样,但我创建了下面的代码,它是一个渐变面板,然后面板停靠在屏幕的左边。 当窗体重新resize时,它会正确显示,但是如果最小化窗体然后恢复它,则会得到一个大的红色X而不是渐变。 谁能发现错误? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Text; using System.Windows.Forms; public class GradientPanel : Panel { private Color ColorA = Color.LightBlue; private Color ColorB = Color.Red; private LinearGradientMode GradientFillStyle = LinearGradientMode.ForwardDiagonal; private Brush gradientBrush; public Color colourStart { get { return ColorA; } set { ColorA […]

在面板上绘画允许自动滚动

我正在实现一个想要在面板中绘制线条的应用程序。 但是面板必须自动滚动,因为它的大小可以在运行时扩展。 我使用的面板绘制方法如下所示。当我运行程序时它绘制线条,但当我向下滚动面板时,线条会崩溃。我怎么能避免这种情况? private void panel1_Paint(object sender, PaintEventArgs e) { this.DoubleBuffered = true; Pen P = new Pen(Color.Red); for (int i = 0; i < 10; i++) { e.Graphics.DrawLine(P, (new Point(i * 40, 0)), (new Point(i * 40, 60 * 40))); } for (int i = 0; i < 60; i++) { e.Graphics.DrawLine(P, (new Point(0, […]

如何在inheritance的WinForm中向Container添加控件

我在另一个项目中有一个基本表单,它对所有WinForms程序强制执行相同的外观。 我从该BaseForminheritance,创建自己的模板BaseView。 我的这个模板有其他控件,如ProgressBar,Timer和TableLayoutPanel。 我现在想inheritance我的BaseView并使用Designer来添加我的程序特定控件,但是我不能删除任何类似Panel或任何其他控件的内容。 我已经尝试了一些建议,比如确保基本表单的组件是公开的,但无济于事 – 大多数TLP的属性仍然是灰色的。 有人可能会给我任何建议吗? 非常感谢! partial class BaseView { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) […]

如何以像素为增量滚动DataGridView

我最初的方法是将我的DataGridView包含在面板中,将其高度设置在面板边界之外,然后更改控制面板的滚动条位置。 但是,我刚刚发现我的DataGridView中的行数将达到2000,这迫使我至少将DataGridView的大小调整为: 65px(行高)x 2,000 = 130,000px。 我的64位计算机上DataGridView控件的最大允许大小为65,535。 任何人都可以想办法解决这个问题吗?

重绘时如何修复面板闪烁?

我有一个我已经子类化的面板并将DoubleBuffered设置DoubleBuffered true,我经常需要刷新绘图,但它闪烁并且不知道为什么。 private delegate void MyDelegate(); public void heartBeat() { while (true) { if (map.processNubots(rules)) { if (this.InvokeRequired) { this.Invoke((MyDelegate)delegate { //drawPanel.SuspendLayout(); drawPanel.Refresh(); displayGrid(); //drawPanel.ResumeLayout(); }); } Thread.Sleep(500); } else { break; } } } public void displayGrid() { int i = 0; foreach (DictionaryEntry pair in map) { Monomer current = (Monomer)pair.Value; drawMonomers(current.getLocation(), current.getState()); […]