在我的C# Winform(VS 2010/C#/.Net 3.5)上,我在设计器中创建了一个按钮。 我想根据用户在该窗体启动时的设置将该按钮移动和调整大小到其他位置。
在我的窗体的加载事件中,我有以下代码来移动按钮并调整按钮大小:
btnShare.Location = new System.Drawing.Point(16, 496);
btnShare.Margin = new System.Windows.Forms.Padding(4);
btnShare.Size = new System.Drawing.Size(408, 126);
创建按钮的所有代码都是此特定窗体的 *.designer.cs 文件。
问题是这样的:当表单加载时,我可以根据上面的 3 行代码在其新位置看到按钮。 但是,当表单完成加载并浏览所有事件时,按钮将返回到 *.designer.cs InitalizeComponent() 方法中的原始位置。
我不想从 *.designer.cs 文件中取出代码,而只将其放入表单的.cs文件中,因为我仍然希望在进行表单设计时能够在设计器中看到该按钮。
如果用户在加载表单时切换了该选项,我只想移动按钮并调整按钮大小。
我该怎么做,因为 .Net 似乎在加载事件处理后在我的表单上绘制按钮,从而将按钮移回其原始位置?
这是我刚刚一起加标的一些代码。 它对我有用。
这是一个 SSCCE,一个简单的、自包含的正确示例。 在询问有关SO的问题时非常有用。
*由于我不知道您的具体问题是什么,因此在这种情况下,正确部分可能不准确
尝试复制此项目,看看是否遇到相同的问题。 如果你不这样做,我们真的无法帮助你,而不获得更多关于你的项目的信息。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Location = new Point(40, 40);
}
}
}