gpt4 book ai didi

c# - Visual Studio C# e.Location 错误

转载 作者:太空宇宙 更新时间:2023-11-03 19:43:29 24 4
gpt4 key购买 nike

我在 Visual Studio C# 中遇到错误。它说事件参数不知道 e.location 的解决方案

我在这个练习中使用了荷兰语单词,这里是它们的翻译:

Voer de lengte in: - 输入长度

voer een breedte in: - 输入宽度

kies een kleur: kleur - 输入颜色:颜色

kies en lijndikte: - 选择线条粗细

点击mij: - 点击我

rechthoek - 矩形

omtrek - 周长

oppervlakte - 表面

米德尔蓬特 - 中心

这是应用程序的外观图片: the form for my application这是我的代码:

我的代码:

    using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Rechthoek
{
public partial class Form_Main : Form
{
int lengte = 0;
int breedte = 0;
Color Kleur = Color.Blue;
int LijnDikte = 1;
Point middelpunt = new Point(0, 0);

public Form_Main()
{
InitializeComponent();
}

private void Form_Main_Load(object sender, EventArgs e)
{
//
}

private void btn_uitkomst_Click(object sender, EventArgs e)
{
rechthoek rechthoek = new rechthoek(lengte, breedte, this, middelpunt, LijnDikte, Kleur);
lbl_Omtrek.Text = lbl_Omtrek.Text + rechthoek.omtrek().ToString();
lbl_oppervlakte.Text = lbl_oppervlakte.Text + rechthoek.oppervlakte().ToString();
rechthoek.teken();
}

private void txt_lengte_TextChanged(object sender, EventArgs e)
{
lengte = int.Parse(txt_lengte.Text);
}

private void txt_Breedte_TextChanged(object sender, EventArgs e)
{
breedte = int.Parse(txt_Breedte.Text);
}

private void btn_Kleur_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
Kleur = colorDialog1.Color;
}

private void txt_LijnDikte_TextChanged(object sender, EventArgs e)
{
LijnDikte = int.Parse(txt_LijnDikte.Text);
}

private void Form_Main_Click(object sender, EventArgs e)
{
middelpunt = e.Location;
}
}
}

类矩形:

    using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Rechthoek
{
class rechthoek
{
private Point _Middelpunt = new Point(0, 0);
private int _lengte = 0;
private int _breedte = 0;
private Form _Form = new Form();
private Color _Kleur = Color.Red;
private int _breedte2 = 1;
private int lengte;
private int breedte;
private Form_Main form_Main;
private Point middelpunt;
private int lijnDikte;
private Color kleur;

public rechthoek(int lengte, int breedte, Form form, Color kleur, int LijnDikte)
{
_lengte = lengte;
_breedte = breedte;
_Form = form;
_Kleur = kleur;
_breedte2 = LijnDikte;

}

public rechthoek(int lengte, int breedte, Form_Main form_Main, Point middelpunt, int lijnDikte, Color kleur)
{
this.lengte = lengte;
this.breedte = breedte;
this.form_Main = form_Main;
this.middelpunt = middelpunt;
this.lijnDikte = lijnDikte;
this.kleur = kleur;
}

public double oppervlakte()
{
return _lengte * _breedte;
}

public double omtrek()
{
return 2 * (_lengte + _breedte);
}

public void teken()
{
Pen mijnPen = new Pen(_Kleur, _breedte2);
Graphics papier = _Form.CreateGraphics();
papier.DrawRectangle(mijnPen, _Middelpunt.X, _Middelpunt.Y, _lengte * 2, _breedte * 2);
}
}
}

所以在近端的第一个代码示例中,您可以看到 e.Location,错误消息是“EventArgs 不包含位置的定义...”

编辑:e.Location 的错误现在消失了,我只需要更改这一行this.Click += new System.EventHandler(this.Form_Main_Click);

我希望你能帮助我!亲切的问候;扎夫坦

最佳答案

您似乎正在使用不提供鼠标坐标的窗体的 Click 事件。

而是使用 MouseClick 事件。

private void Form_MouseClick(object sender, MouseEventArgs e)
{
}

请注意,仅更改方法名称和参数 e 的类型是不够的。在 Visual Studio 的属性窗口中,您还需要将方法分配给 MouseClick 事件。

enter image description here

关于c# - Visual Studio C# e.Location 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49560733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com