我有一个TableLayoutPanel,以两列和0行开头.我需要做的是,动态添加一行并用不同的控件填充两列(它将是面板).在Form1中,我以这种方式创建TableLayout:
TableLayoutPanel Table = new TableLayoutPanel();
Table.Location = new Point(10, 40);
Table.Size = new Size(620,100);
Table.AutoSize = true;
Table.Name = "Desk";
Table.ColumnCount = 2;
Table.RowCount = 0;
Table.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
Table.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddRows;
this.Controls.Add(Table);
Run Code Online (Sandbox Code Playgroud)
之后在运行时我会得到我需要多少行,如果它们将填充Panel或某些Label.可能会发生在同一行中,将是Panel,right Label等.
在我的代码中,我有PictureBox
一个背景图片。我曾经用它在它上面画一个矩形
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Color.Turquoise, 2);
Rectangle r = new Rectangle(600, 300, 5, 5);
e.Graphics.DrawRectangle(p, r);
p.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道我需要对这些矩形做很多事情并动态创建它们,我为它们创建了一个类,构造函数如下所示:
public MyRectangles(int x, int y)
{
Pen p = new Pen(Color.Turquoise, 2);
Rectangle r = new Rectangle(x, y, 5, 5);
e.Graphics.DrawRectangle(p, r);
p.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
问题是,e
在e.Graphics.DrawRectangle(p, r);
这里不存在。这是有道理的,我理解为什么,但是,我不知道用什么替换它,再次在同一个图片框上绘制。
找到了几种方法,但它们都不适用于我..我有一个可变数量选项的组合框(取自动态xml文件).接下来,我需要知道用户选择了什么,我无法知道如何做到这一点.这是我发现和尝试的方法之一:
string myString = myCombobox.SelectedValue.ToString();
Run Code Online (Sandbox Code Playgroud)
至少我没有收到错误,但是当我尝试显示该字符串时,它什么也没做.
我试图在C#WinForms应用程序的网站上获得少量文本框的值.它是输入类型文本,设置为只读,但当我尝试在我的应用程序中使用时读取它
string price = webBrowser1.Document.GetElementById("price").GetAttribute("value");
Run Code Online (Sandbox Code Playgroud)
它返回一个空字符串.当我尝试使用设置其他(非只读)输入值时.SetAttribute("value", "testValue")
,它工作得很好.
有人可以帮我这个吗?
我目前有一个 WinForms C# 应用程序。我有一个 .txt 文件,其中包含某些点(建筑物的边界、道路等)的 GPS 坐标,并且使用Graphics.FillPolygon
方法在System.Drawing
我将这些绘制在Panel
. 但是,我有一个想法,对于我想要做的事情(它基本上是一个 2D 游戏),Unity 2D 项目会更合适且更易于使用(主要是因为使用相机更容易处理视图)。但是,我不知道如何在其中进行此绘图。我只需要以某种方式在 Unity 中绘制这些坐标,但我不知道该怎么做。
注意:我已经对 Unity 中的 3D 有了一些小经验,但我完全是 2D 的新手。谢谢
在我的代码中,我在Windows窗体StatusBar中显示一些文本.这还包括用户的全名.但是,由于当地语言,它很可能包含"š,č,ř,ě,í,á等"字样.这些都显示为" ".我是否需要以某种方式更改字符集或其他内容?
在我的申请中,我需要打开另一个表格.从现在开始,我使用它
Form2 childform = new Form2();
childform.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
但是当我使用此代码显示第二个表单时,我无法单击第一个表单.我需要做什么,打开两个表格,并允许两者一起工作(点击它们,写入包含的TextBoxes等)?
我有一个 stdClass,它有一个名称中带有点的属性。它是通过 API 返回给我的,因此我无法对该名称执行任何操作。它看起来像这样:
stdClass Object ( [GetPlayerResult] => stdClass Object ( [RegistrationResponses.Player] => Array (...)
Run Code Online (Sandbox Code Playgroud)
现在,我如何访问该数组?当我这样做时:
print_r($result->GetPlayerResult->RegistrationResponses.Player);
Run Code Online (Sandbox Code Playgroud)
它(显然)只打印“Player”。我尝试过使用 [''] 语法(如关联数组)在最后一部分加上撇号,但这些都不起作用并引发 500 错误。有任何想法吗?谢谢!
我有一个三角形,知道两边的长度(见图),需要知道图中显示的角度(红色是已知的,蓝色角度是我需要计算的)
我发现,Math.Tan得到了以弧度表示的角度,所以当我尝试这样做时:
alpha = Math.Tan((CA/AB));
Run Code Online (Sandbox Code Playgroud)
因此我总是得到0.我的问题是 - 我怎么能得到这个角度,只知道这两个方面?
我有一个窗体,顶部有一个菜单栏,底部有一个状态栏.窗口是可滚动的,但是当我滚动时,让我们说下来,菜单栏保持向上,这样我就再也看不到了,如果向上滚动,状态栏也会出现同样的情况.是否有任何方法可以让它们随时可见,例如它们随屏幕滚动,或者一如既往地在顶部?