C# 如何保存控件数组

C# 如何保存控件数组,c#,arrays,controls,save,C#,Arrays,Controls,Save,我有这段代码,允许用户创建一个按钮数组,任何一个都在一个from中。 这是我正在做的两个示例(关于立即创建帐户?单击否,然后下载zip文件) 问题如下: 我需要保存用户所做的任何事情:例如,如果他添加了5个按钮并保存了它,下次当他打开保存的文件时,他将在保存它们的相同位置看到5个按钮。 这将允许用户将文件发送给具有相同程序的另一个人,另一个人查看创建的文件 由于误解(下面的评论),我将发布一些代码,上面是第二个链接。但问题是我找不到任何代码来执行我的请求。伙计们,我甚至不知道如何开始,我的意思

我有这段代码,允许用户创建一个按钮数组,任何一个都在一个from中。 这是我正在做的两个示例(关于立即创建帐户?单击否,然后下载zip文件)

问题如下:

我需要保存用户所做的任何事情:例如,如果他添加了5个按钮并保存了它,下次当他打开保存的文件时,他将在保存它们的相同位置看到5个按钮。 这将允许用户将文件发送给具有相同程序的另一个人,另一个人查看创建的文件


由于误解(下面的评论),我将发布一些代码,上面是第二个链接。但问题是我找不到任何代码来执行我的请求。伙计们,我甚至不知道如何开始,我的意思是我知道如何从图片框或一些文本保存图像,但按钮数组是另一回事

这是简单的示例代码,或者你可以下载我发布的第二个文件并编译它

玛丽酒店

frmMain.cs

using System;
using System.Collections;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ManageControls
{
    public partial class frmMain : Form
    {
        ButtonArray buttonArray;
        bool isClicked = false;
        Button btnSelected = new Button();


        public frmMain()
        {
            InitializeComponent();
            buttonArray = new ButtonArray(this);

            this.MouseDown += new  MouseEventHandler(frmMain_MouseDown);
            buttonArray.SelectedButton += new
                SendSelectedButton(buttonArray_SelectedButton);
        }

        private void buttonArray_SelectedButton(object sender)
        {
            btnSelected = sender as Button;

        }

        private void frmMain_MouseDown(object sender, MouseEventArgs e)
        {
            if (isClicked)
            {
                buttonArray.AddButton(e.X, e.Y);
                this.Cursor = Cursors.Default;
                isClicked = false;
            }
        }

        private void tsButton_Click(object sender, EventArgs e)
        {
            isClicked = true;
            this.Cursor = Cursors.Cross;
        }

        private void tsDelete_Click(object sender, EventArgs e)
        {
            buttonArray.RemoveButton(btnSelected.Tag.ToString());
        }


    }
}
Program.cs

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace ManageControls
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmMain());
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Windows.Forms;
命名空间管理控件
{
静态类程序
{
/// 
///应用程序的主要入口点。
/// 
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
运行(新的frmMain());
}
}
}
和frmMain.Designer.cs

namespace ManageControls
{
    partial class frmMain
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.tsMain = new System.Windows.Forms.ToolStrip();
            this.AddButton = new System.Windows.Forms.ToolStripButton();
            this.toolStripButton1 = new System.Windows.Forms.ToolStripSeparator();
            this.RemoveButton = new System.Windows.Forms.ToolStripButton();
            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.openLabel1 = new System.Windows.Forms.ToolStripLabel();
            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
            this.saveLabel2 = new System.Windows.Forms.ToolStripLabel();
            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
            this.tsMain.SuspendLayout();
            this.SuspendLayout();
            // 
            // tsMain
            // 
            this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.AddButton,
            this.toolStripButton1,
            this.RemoveButton,
            this.toolStripSeparator1,
            this.openLabel1,
            this.toolStripSeparator2,
            this.saveLabel2,
            this.toolStripSeparator3});
            this.tsMain.Location = new System.Drawing.Point(0, 0);
            this.tsMain.Name = "tsMain";
            this.tsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
            this.tsMain.Size = new System.Drawing.Size(740, 25);
            this.tsMain.TabIndex = 0;
            this.tsMain.Text = "toolStrip1";
            // 
            // AddButton
            // 
            this.AddButton.Image = global::ManageControls.Properties.Resources.Button;
            this.AddButton.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.AddButton.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.AddButton.Name = "AddButton";
            this.AddButton.Size = new System.Drawing.Size(63, 22);
            this.AddButton.Text = "Button";
            this.AddButton.Click += new System.EventHandler(this.tsButton_Click);
            // 
            // toolStripButton1
            // 
            this.toolStripButton1.Name = "toolStripButton1";
            this.toolStripButton1.Size = new System.Drawing.Size(6, 25);
            // 
            // RemoveButton
            // 
            this.RemoveButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
            this.RemoveButton.Image = global::ManageControls.Properties.Resources.Delete;
            this.RemoveButton.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.RemoveButton.ImageTransparentColor = System.Drawing.Color.White;
            this.RemoveButton.Name = "RemoveButton";
            this.RemoveButton.Size = new System.Drawing.Size(57, 22);
            this.RemoveButton.Text = "Delete";
            this.RemoveButton.Click += new System.EventHandler(this.tsDelete_Click);
            // 
            // toolStripSeparator1
            // 
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
            // 
            // openLabel1
            // 
            this.openLabel1.Name = "openLabel1";
            this.openLabel1.Size = new System.Drawing.Size(36, 22);
            this.openLabel1.Text = "Open";
            // 
            // toolStripSeparator2
            // 
            this.toolStripSeparator2.Name = "toolStripSeparator2";
            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
            // 
            // saveLabel2
            // 
            this.saveLabel2.Name = "saveLabel2";
            this.saveLabel2.Size = new System.Drawing.Size(31, 22);
            this.saveLabel2.Text = "Save";
            // 
            // toolStripSeparator3
            // 
            this.toolStripSeparator3.Name = "toolStripSeparator3";
            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
            // 
            // frmMain
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(740, 449);
            this.Controls.Add(this.tsMain);
            this.Name = "frmMain";
            this.Text = "Manage Controls - Sample";
            this.tsMain.ResumeLayout(false);
            this.tsMain.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.ToolStrip tsMain;
        private System.Windows.Forms.ToolStripButton AddButton;
        private System.Windows.Forms.ToolStripButton RemoveButton;
        private System.Windows.Forms.ToolStripSeparator toolStripButton1;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
        private System.Windows.Forms.ToolStripLabel openLabel1;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
        private System.Windows.Forms.ToolStripLabel saveLabel2;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
    }
} 
命名空间管理控件
{
部分类frmMain
{
/// 
///必需的设计器变量。
/// 
private System.ComponentModel.IContainer components=null;
/// 
///清理所有正在使用的资源。
/// 
///如果应释放托管资源,则为true;否则为false。
受保护的覆盖无效处置(布尔处置)
{
if(处理和(组件!=null))
{
组件。Dispose();
}
基地。处置(处置);
}
#区域Windows窗体设计器生成的代码
/// 
///设计器支持所需的方法-不修改
///此方法的内容与代码编辑器一起使用。
/// 
私有void InitializeComponent()
{
this.tsMain=new System.Windows.Forms.ToolStrip();
this.AddButton=new System.Windows.Forms.ToolStripButton();
this.toolStripButton1=新的System.Windows.Forms.ToolStripSeparator();
this.RemoveButton=new System.Windows.Forms.ToolStripButton();
this.ToolStripSeparator 1=新系统.Windows.Forms.ToolStripSeparator();
this.openLabel1=new System.Windows.Forms.ToolStripLabel();
this.ToolStripSeparator 2=新系统.Windows.Forms.ToolStripSeparator();
this.saveLabel2=new System.Windows.Forms.ToolStripLabel();
this.ToolStripSeparator 3=新系统.Windows.Forms.ToolStripSeparator();
this.tsMain.SuspendLayout();
这个.SuspendLayout();
// 
//茨梅因
// 
this.tsMain.Items.AddRange(新System.Windows.Forms.ToolStripItem[]{
这个.AddButton,
这个.toolStripButton1,
这个.remove按钮,
这个.ToolStrip分离器1,
这是openLabel1,
这个.ToolStrip分离器2,
这是saveLabel2,
这是.toolStripSeparator3});
this.tsMain.Location=新系统图点(0,0);
this.tsMain.Name=“tsMain”;
this.tsMain.RenderMode=System.Windows.Forms.ToolStripRenderMode.System;
this.tsMain.Size=新系统图纸尺寸(740,25);
this.tsMain.TabIndex=0;
this.tsMain.Text=“toolStrip1”;
// 
//添加按钮
// 
this.AddButton.Image=global::ManageControls.Properties.Resources.Button;
this.AddButton.ImageScaling=System.Windows.Forms.ToolStripItemImageScaling.None;
this.AddButton.ImageTransparentColor=System.Drawing.Color.Magenta;
this.AddButton.Name=“AddButton”;
this.AddButton.Size=新系统.图纸.尺寸(63,22);
this.AddButton.Text=“Button”;
this.AddButton.Click+=新建System.EventHandler(this.tsButton\u Click);
// 
//工具条按钮1
// 
this.toolStripButton1.Name=“toolStripButton1”;
this.toolStripButton1.Size=新系统图纸尺寸(6,25);
// 
//移除按钮
// 
this.RemoveButton.BackgroundImageLayout=System.Windows.Forms.ImageLayout.Center;
this.RemoveButton.Image=global::ManageControls.Properties.Resources.Delete;
this.RemoveButton.ImageScaling=System.Windows.Forms.ToolStripItemImageScaling.None;
this.RemoveButton.ImageTransparentColor=System.Drawing.Color.White;
this.RemoveButton.Name=“RemoveButton”;
this.RemoveButton.Size=新系统.图纸.尺寸(57,22);
this.RemoveButton.Text=“删除”;
this.RemoveButton.Click+=new System.EventHandler(this.tsDelete\u Click);
// 
//工具条分离器1
// 
this.toolStripSeparator1.Name=“toolStripSeparator1”;
this.toolstripSeparator 1.Size=新系统图尺寸(6,25);
// 
//openLabel1
// 
this.openLabel1.Name=“openLabel1”;
this.openLabel1.Size=新系统.Drawing.Size(36,22);
this.openLabel1.Text=“打开”;
// 
//工具条分离器2
// 
this.toolStripSeparator2.Name=“toolStripSeparator2”;
此.toolStripSeparator2.S
namespace ManageControls
{
    partial class frmMain
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.tsMain = new System.Windows.Forms.ToolStrip();
            this.AddButton = new System.Windows.Forms.ToolStripButton();
            this.toolStripButton1 = new System.Windows.Forms.ToolStripSeparator();
            this.RemoveButton = new System.Windows.Forms.ToolStripButton();
            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.openLabel1 = new System.Windows.Forms.ToolStripLabel();
            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
            this.saveLabel2 = new System.Windows.Forms.ToolStripLabel();
            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
            this.tsMain.SuspendLayout();
            this.SuspendLayout();
            // 
            // tsMain
            // 
            this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.AddButton,
            this.toolStripButton1,
            this.RemoveButton,
            this.toolStripSeparator1,
            this.openLabel1,
            this.toolStripSeparator2,
            this.saveLabel2,
            this.toolStripSeparator3});
            this.tsMain.Location = new System.Drawing.Point(0, 0);
            this.tsMain.Name = "tsMain";
            this.tsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
            this.tsMain.Size = new System.Drawing.Size(740, 25);
            this.tsMain.TabIndex = 0;
            this.tsMain.Text = "toolStrip1";
            // 
            // AddButton
            // 
            this.AddButton.Image = global::ManageControls.Properties.Resources.Button;
            this.AddButton.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.AddButton.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.AddButton.Name = "AddButton";
            this.AddButton.Size = new System.Drawing.Size(63, 22);
            this.AddButton.Text = "Button";
            this.AddButton.Click += new System.EventHandler(this.tsButton_Click);
            // 
            // toolStripButton1
            // 
            this.toolStripButton1.Name = "toolStripButton1";
            this.toolStripButton1.Size = new System.Drawing.Size(6, 25);
            // 
            // RemoveButton
            // 
            this.RemoveButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
            this.RemoveButton.Image = global::ManageControls.Properties.Resources.Delete;
            this.RemoveButton.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.RemoveButton.ImageTransparentColor = System.Drawing.Color.White;
            this.RemoveButton.Name = "RemoveButton";
            this.RemoveButton.Size = new System.Drawing.Size(57, 22);
            this.RemoveButton.Text = "Delete";
            this.RemoveButton.Click += new System.EventHandler(this.tsDelete_Click);
            // 
            // toolStripSeparator1
            // 
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
            // 
            // openLabel1
            // 
            this.openLabel1.Name = "openLabel1";
            this.openLabel1.Size = new System.Drawing.Size(36, 22);
            this.openLabel1.Text = "Open";
            // 
            // toolStripSeparator2
            // 
            this.toolStripSeparator2.Name = "toolStripSeparator2";
            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
            // 
            // saveLabel2
            // 
            this.saveLabel2.Name = "saveLabel2";
            this.saveLabel2.Size = new System.Drawing.Size(31, 22);
            this.saveLabel2.Text = "Save";
            // 
            // toolStripSeparator3
            // 
            this.toolStripSeparator3.Name = "toolStripSeparator3";
            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
            // 
            // frmMain
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(740, 449);
            this.Controls.Add(this.tsMain);
            this.Name = "frmMain";
            this.Text = "Manage Controls - Sample";
            this.tsMain.ResumeLayout(false);
            this.tsMain.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.ToolStrip tsMain;
        private System.Windows.Forms.ToolStripButton AddButton;
        private System.Windows.Forms.ToolStripButton RemoveButton;
        private System.Windows.Forms.ToolStripSeparator toolStripButton1;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
        private System.Windows.Forms.ToolStripLabel openLabel1;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
        private System.Windows.Forms.ToolStripLabel saveLabel2;
        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
    }
}