请问c sharp可以不可以在窗体的外面画一个线框
时间: 2023-05-12 09:05:16 浏览: 70
可以,使用 Graphics 类的 DrawRectangle 方法即可。以下是示例代码:
```csharp
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 创建一个 Pen 对象,指定线框的颜色和宽度
Pen pen = new Pen(Color.Red, 2);
// 使用 Graphics 类的 DrawRectangle 方法绘制线框
e.Graphics.DrawRectangle(pen, -10, -10, this.Width + 20, this.Height + 20);
// 释放 Pen 对象
pen.Dispose();
}
```
在窗体的 Paint 事件中调用该方法即可。注意,如果窗体被遮挡或者移动,线框也会跟着移动。
相关问题
OpenGL在不使用glut对象的情况下绘制一个线框球体
对于您的问题,我可以给出以下方法来绘制一个线框球体:
首先定义球体的半径和经线和纬线的数量,然后利用三角函数计算出球体表面各个点的坐标。接着通过OpenGL的GL_LINES属性来绘制球体的线框。
具体实现方法可以参考以下代码:
```
#define PI 3.1415926535898
void drawSphere(GLfloat r, GLint lats, GLint longs) {
for(int i = 0; i <= lats; i++) {
GLfloat lat0 = PI * (-0.5 + (GLfloat)(i - 1) / lats);
GLfloat z0 = sin(lat0);
GLfloat zr0 = cos(lat0);
GLfloat lat1 = PI * (-0.5 + (GLfloat)i / lats);
GLfloat z1 = sin(lat1);
GLfloat zr1 = cos(lat1);
glBegin(GL_LINE_LOOP);
for(int j = 0; j <= longs; j++) {
GLfloat lng = 2 * PI * (GLfloat)(j - 1) / longs;
GLfloat x = cos(lng);
GLfloat y = sin(lng);
glVertex3f(x * zr0 * r, y * zr0 * r, z0 * r);
glVertex3f(x * zr1 * r, y * zr1 * r, z1 * r);
}
glEnd();
}
}
```
上述代码实现了绘制一个半径为r的球体,其中lats和longs表示球体需要的经线和纬线数量。您可以根据实际需求调整这两个参数的值来生成不同细腻度的球体。
请用c sharp写出一段代码,在屏幕坐标100,100的地方画出一个红色的矩形线框
以下是用C#语言在屏幕坐标100,100的地方画出一个红色的矩形线框的代码:
```csharp
using System.Drawing;
using System.Windows.Forms;
namespace CSDN_C知道
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 创建一个画布
Graphics g = this.CreateGraphics();
// 创建一个红色的画笔
Pen pen = new Pen(Color.Red);
// 创建一个矩形
Rectangle rect = new Rectangle(100, 100, 100, 100);
// 画出矩形的线框
g.DrawRectangle(pen, rect);
}
}
}
```
注意:这段代码需要在Windows Forms应用程序中运行才能看到效果。