大家随便发点比较实用的列子吧!
没有好列子的也进来接分吧!顺便问问怎么用代码动态拷贝一个控件
比如按钮控件 
在Form1中的button1拷贝到Form2(要把button1设置好的属性拷贝过去之外还把button1的事件拷贝过去)
我的等级不够只能先发100分 人多了加多100分

解决方案 »

  1.   

    一个Button的实例好像只能被一个窗体所拥有
    而且全局怎么搞难道是静态
      

  2.   


    namespace WindowsApplication1
    {
        partial class 文件伪装跟还原
        {
            /// <summary>
            /// 必需的设计器变量。
            /// </summary>
            private System.ComponentModel.IContainer components = null;
            /// <summary>
            /// 清理所有正在使用的资源。
            /// </summary>
            /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
            #region Windows 窗体设计器生成的代码
            /// <summary>
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.groupBox1 = new System.Windows.Forms.GroupBox();
                this.comboBox1 = new System.Windows.Forms.ComboBox();
                this.AddPassword = new System.Windows.Forms.Button();
                this.button1 = new System.Windows.Forms.Button();
                this.AfoldePath = new System.Windows.Forms.TextBox();
                this.foldeOpen = new System.Windows.Forms.FolderBrowserDialog();
                this.groupBox2 = new System.Windows.Forms.GroupBox();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.textBox1 = new System.Windows.Forms.TextBox();
                this.groupBox1.SuspendLayout();
                this.groupBox2.SuspendLayout();
                this.SuspendLayout();
                // 
                // groupBox1
                // 
                this.groupBox1.BackColor = System.Drawing.Color.Transparent;
                this.groupBox1.Controls.Add(this.comboBox1);
                this.groupBox1.Controls.Add(this.AddPassword);
                this.groupBox1.Controls.Add(this.button1);
                this.groupBox1.Controls.Add(this.AfoldePath);
                this.groupBox1.Location = new System.Drawing.Point(2, 2);
                this.groupBox1.Name = "groupBox1";
                this.groupBox1.Size = new System.Drawing.Size(190, 94);
                this.groupBox1.TabIndex = 0;
                this.groupBox1.TabStop = false;
                this.groupBox1.Text = "伪装";
                // 
                // comboBox1
                // 
                this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
                this.comboBox1.Items.AddRange(new object[] {
                "我的电脑",
                "我的文档",
                "拨号网络",
                "控制面板",
                "计划任务",
                "打印机",
                "网络邻居",
                "回收站",
                "公文包",
                "字体 ",
                "Web 文件夹"});
                this.comboBox1.Location = new System.Drawing.Point(12, 44);
                this.comboBox1.Name = "comboBox1";
                this.comboBox1.Size = new System.Drawing.Size(174, 20);
                this.comboBox1.TabIndex = 15;
                // 
                // AddPassword
                // 
                this.AddPassword.BackColor = System.Drawing.Color.Transparent;
                this.AddPassword.Location = new System.Drawing.Point(110, 66);
                this.AddPassword.Name = "AddPassword";
                this.AddPassword.Size = new System.Drawing.Size(75, 23);
                this.AddPassword.TabIndex = 14;
                this.AddPassword.Text = "伪装(&S)";
                this.AddPassword.UseVisualStyleBackColor = false;
                this.AddPassword.Click += new System.EventHandler(this.AddPassword_Click);
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(12, 66);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 8;
                this.button1.Text = "文件夹(&W)";
                this.button1.Click += new System.EventHandler(this.button1_Click);
                // 
                // AfoldePath
                // 
                this.AfoldePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
                this.AfoldePath.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                this.AfoldePath.Location = new System.Drawing.Point(12, 16);
                this.AfoldePath.Name = "AfoldePath";
                this.AfoldePath.ReadOnly = true;
                this.AfoldePath.Size = new System.Drawing.Size(174, 21);
                this.AfoldePath.TabIndex = 7;
      

  3.   


     // 
                // groupBox2
                // 
                this.groupBox2.BackColor = System.Drawing.Color.Transparent;
                this.groupBox2.Controls.Add(this.button2);
                this.groupBox2.Controls.Add(this.button3);
                this.groupBox2.Controls.Add(this.textBox1);
                this.groupBox2.Location = new System.Drawing.Point(2, 100);
                this.groupBox2.Name = "groupBox2";
                this.groupBox2.Size = new System.Drawing.Size(190, 68);
                this.groupBox2.TabIndex = 1;
                this.groupBox2.TabStop = false;
                this.groupBox2.Text = "还原";
                // 
                // button2
                // 
                this.button2.ForeColor = System.Drawing.Color.Red;
                this.button2.Location = new System.Drawing.Point(110, 40);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(75, 23);
                this.button2.TabIndex = 14;
                this.button2.Text = "还原解密";
                this.button2.Click += new System.EventHandler(this.button2_Click);
                // 
                // button3
                // 
                this.button3.ForeColor = System.Drawing.Color.Red;
                this.button3.Location = new System.Drawing.Point(8, 40);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(75, 23);
                this.button3.TabIndex = 8;
                this.button3.Text = "文件夹";
                this.button3.Click += new System.EventHandler(this.button3_Click);
                // 
                // textBox1
                // 
                this.textBox1.BackColor = System.Drawing.Color.White;
                this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                this.textBox1.Location = new System.Drawing.Point(12, 16);
                this.textBox1.Name = "textBox1";
                this.textBox1.ReadOnly = true;
                this.textBox1.Size = new System.Drawing.Size(174, 21);
                this.textBox1.TabIndex = 7;
                // 
                // 文件伪装跟还原
                // 
                this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
                this.ClientSize = new System.Drawing.Size(192, 168);
                this.Controls.Add(this.groupBox2);
                this.Controls.Add(this.groupBox1);
                this.Cursor = System.Windows.Forms.Cursors.Hand;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
                this.MaximizeBox = false;
                this.Name = "文件伪装跟还原";
                this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                this.Text = "BY:孤竹残梦";
                this.Load += new System.EventHandler(this.文件伪装跟还原_Load);
                this.groupBox1.ResumeLayout(false);
                this.groupBox1.PerformLayout();
                this.groupBox2.ResumeLayout(false);
                this.groupBox2.PerformLayout();
                this.ResumeLayout(false);
            }
            private System.Windows.Forms.GroupBox groupBox1;
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.FolderBrowserDialog foldeOpen;
            private System.Windows.Forms.TextBox AfoldePath;
            private System.Windows.Forms.GroupBox groupBox2;
            private System.Windows.Forms.Button button2;
            private System.Windows.Forms.Button button3;
            private System.Windows.Forms.TextBox textBox1;
            private System.Windows.Forms.Button AddPassword;
            private System.Windows.Forms.ComboBox comboBox1;
            //private System.ComponentModel.IContainer components = null;        #endregion
        }
    }
    //------结束-----界面控件代码
      

  4.   


    //--事件代码
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.Diagnostics;
    using System.IO;
    namespace WindowsApplication1
    {
        public partial class 文件伪装跟还原 : Form
        {
            public 文件伪装跟还原()
            {
                InitializeComponent();
            }
            private void Form12_Load(object sender, EventArgs e)
            {
            }
            private void button1_Click(object sender, System.EventArgs e)
            {
                if (foldeOpen.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        if (foldeOpen.SelectedPath.Substring(3, 10) == "Documents ")
                        {
                            MessageBox.Show("孤竹残梦提醒:不建议伪装系统文件夹下文件,可能会造成系统出问题", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            AfoldePath.Text = foldeOpen.SelectedPath;
                        }
                    }
                    catch
                    {
                        if (foldeOpen.SelectedPath.Length >= 4)
                        {
                            AfoldePath.Text = foldeOpen.SelectedPath;
                        }
                        else
                        {
                            MessageBox.Show("孤竹残梦提醒:不能对盘符进行伪装", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            private void AddPassword_Click(object sender, System.EventArgs e)
            {
                if (this.AfoldePath.Text == "")
                {
                    MessageBox.Show("请选择文件夹路径!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (this.comboBox1.Text == "加密类型")
                {
                    MessageBox.Show("请选择加密类型!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {
                        ProcessStartInfo p3 = new ProcessStartInfo("attrib.exe", @"-s -r -a -h " + AfoldePath.Text);
                        p3.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p3);
                        ProcessStartInfo p1 = new ProcessStartInfo("attrib.exe", @"-s -r -a -h" + AfoldePath.Text + @"\desktop.ini");
                        p1.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p1);
                        StreamWriter sw2 = new StreamWriter(AfoldePath.Text + @"\desktop.ini");
                        sw2.WriteLine(@"[.ShellClassInfo]");
                        sw2.WriteLine("CLSID=" + GetPasType());
                        sw2.Close();
                        ProcessStartInfo p = new ProcessStartInfo("attrib.exe", @"+s +a +h +r" + AfoldePath.Text + @"\desktop.ini");
                        p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p);
                        ProcessStartInfo p2 = new ProcessStartInfo("attrib.exe", @"+s +r " + AfoldePath.Text);
                        p2.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p2);
                        MessageBox.Show("孤竹残梦提示:伪装成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch
                    {
                        MessageBox.Show("孤竹残梦提示:不可多次进行伪装!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            private string GetPasType()
            {
                int index = comboBox1.SelectedIndex;
                switch (index)
                {
                    case 0: return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
                    case 1: return @"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
                    case 2: return @"{992CFFA0-F557-101A-88EC-00DD010CCC48}";
                    case 3: return @"{21EC2020-3AEA-1069-A2DD-08002B30309D}";
                    case 4: return @"{D6277990-4C6A-11CF-8D87-00AA0060F5BF}";
                    case 5: return @"{2227A280-3AEA-1069-A2DE-08002B30309D}";
                    //case 6: return @"{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}";
                    case 6: return @"{208D2C60-3AEA-1069-A2D7-08002B30309D}";
                    case 7: return @"{645FF040-5081-101B-9F08-00AA002F954E}";
                    case 8: return @"{85BBD920-42A0-1069-A2E4-08002B30309D}";
                    case 9: return @"{BD84B380-8CA2-1069-AB1D-08000948F534}";
                    case 10: return @"{BDEADF00-C265-11d0-BCED-00A0C90AB50F}";
                }
                return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
            }
            private void button3_Click(object sender, System.EventArgs e)
            {
                if (foldeOpen.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = foldeOpen.SelectedPath;
                }
            }
      

  5.   


    private void button2_Click(object sender, System.EventArgs e)
            {
                if (this.textBox1.Text == "")
                {
                    MessageBox.Show("请选择加密文件的路径", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                /// 孤竹残梦
                /// 转载请保留原出处
                // else
                // {
                // MessageBox.Show("未注册,请联系作者以购买正版。","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
                // return;
                // }
                if (this.textBox1.Text == "")
                {
                    MessageBox.Show("请选择加密过的文件夹!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {
                        ProcessStartInfo p2 = new ProcessStartInfo("attrib.exe", @"-s -r -a -h " + textBox1.Text);
                        p2.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p2);
                        ProcessStartInfo p1 = new ProcessStartInfo("attrib.exe", @"-s -h -r" + textBox1.Text + @"\desktop.ini");
                        p1.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p1);
                        System.Threading.Thread.Sleep(1000);
                        File.Delete(textBox1.Text + @"\desktop.ini");
                        MessageBox.Show("解密成功,已经还原", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch
                    {
                        MessageBox.Show("一次解密就OK啦,请勿多次!");
                    }
                }
            }
            private void 文件伪装跟还原_Load(object sender, EventArgs e)
            {
                comboBox1.SelectedIndex = 0;
            }
        }
    }
      

  6.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.Diagnostics;
    using System.IO;
    namespace WindowsApplication1
    {
        public partial class 文件伪装跟还原 : Form
        {
            public 文件伪装跟还原()
            {
                InitializeComponent();
            }
            private void Form12_Load(object sender, EventArgs e)
            {
            }
            private void button1_Click(object sender, System.EventArgs e)
            {
                if (foldeOpen.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        if (foldeOpen.SelectedPath.Substring(3, 10) == "Documents ")
                        {
                            MessageBox.Show("孤竹残梦提醒:不建议伪装系统文件夹下文件,可能会造成系统出问题", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            AfoldePath.Text = foldeOpen.SelectedPath;
                        }
                    }
                    catch
                    {
                        if (foldeOpen.SelectedPath.Length >= 4)
                        {
                            AfoldePath.Text = foldeOpen.SelectedPath;
                        }
                        else
                        {
                            MessageBox.Show("孤竹残梦提醒:不能对盘符进行伪装", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            private void AddPassword_Click(object sender, System.EventArgs e)
            {
                if (this.AfoldePath.Text == "")
                {
                    MessageBox.Show("请选择文件夹路径!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (this.comboBox1.Text == "加密类型")
                {
                    MessageBox.Show("请选择加密类型!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {
                        ProcessStartInfo p3 = new ProcessStartInfo("attrib.exe", @"-s -r -a -h " + AfoldePath.Text);
                        p3.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p3);
                        ProcessStartInfo p1 = new ProcessStartInfo("attrib.exe", @"-s -r -a -h" + AfoldePath.Text + @"\desktop.ini");
                        p1.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p1);
                        StreamWriter sw2 = new StreamWriter(AfoldePath.Text + @"\desktop.ini");
                        sw2.WriteLine(@"[.ShellClassInfo]");
                        sw2.WriteLine("CLSID=" + GetPasType());
                        sw2.Close();
                        ProcessStartInfo p = new ProcessStartInfo("attrib.exe", @"+s +a +h +r" + AfoldePath.Text + @"\desktop.ini");
                        p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p);
                        ProcessStartInfo p2 = new ProcessStartInfo("attrib.exe", @"+s +r " + AfoldePath.Text);
                        p2.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                        Process.Start(p2);
                        MessageBox.Show("孤竹残梦提示:伪装成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch
                    {
                        MessageBox.Show("孤竹残梦提示:不可多次进行伪装!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            private string GetPasType()
            {
                int index = comboBox1.SelectedIndex;
                switch (index)
                {
                    case 0: return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
                    case 1: return @"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
                    case 2: return @"{992CFFA0-F557-101A-88EC-00DD010CCC48}";
                    case 3: return @"{21EC2020-3AEA-1069-A2DD-08002B30309D}";
                    case 4: return @"{D6277990-4C6A-11CF-8D87-00AA0060F5BF}";
                    case 5: return @"{2227A280-3AEA-1069-A2DE-08002B30309D}";
                    //case 6: return @"{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}";
                    case 6: return @"{208D2C60-3AEA-1069-A2D7-08002B30309D}";
                    case 7: return @"{645FF040-5081-101B-9F08-00AA002F954E}";
                    case 8: return @"{85BBD920-42A0-1069-A2E4-08002B30309D}";
                    case 9: return @"{BD84B380-8CA2-1069-AB1D-08000948F534}";
                    case 10: return @"{BDEADF00-C265-11d0-BCED-00A0C90AB50F}";
                }
                return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
            }
            private void button3_Click(object sender, System.EventArgs e)
            {
                if (foldeOpen.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = foldeOpen.SelectedPath;
                }
            }
      

  7.   

    一种设计模式——观察者模式using System;
    using System.Collections.Generic;
    using System.Text;namespace 观察者模式
    {
        class Program
        {
            static void Main(string[] args)
            {
                ConcreteSubject s = new ConcreteSubject();            s.Attach(new ConcreteObserver(s, "X"));
                s.Attach(new ConcreteObserver(s, "Y"));
                s.Attach(new ConcreteObserver(s, "Z"));            s.SubjectState = "ABC";
                s.Notify();            Console.Read();        }
        }
        abstract class Subject
        {
            private IList<Observer> observers = new List<Observer>();        //增加观察者
            public void Attach(Observer observer)
            {
                observers.Add(observer);
            }
            //移除观察者
            public void Detach(Observer observer)
            {
                observers.Remove(observer);
            }
            //通知
            public void Notify()
            {
                foreach (Observer o in observers)
                {
                    o.Update();
                }
            }
        }    //具体通知者
        class ConcreteSubject : Subject
        {
            private string subjectState;        //具体通知者状态
            public string SubjectState
            {
                get { return subjectState; }
                set { subjectState = value; }
            }
        }
        abstract class Observer
        {
            public abstract void Update();
        }    class ConcreteObserver : Observer
        {
            private string name;
            private string observerState;
            private ConcreteSubject subject;        public ConcreteObserver(
              ConcreteSubject subject, string name)
            {
                this.subject = subject;
                this.name = name;
            }
            //更新
            public override void Update()
            {
                observerState = subject.SubjectState;
                Console.WriteLine("观察者{0}的新状态是{1}",
                  name, observerState);
            }        public ConcreteSubject Subject
            {
                get { return subject; }
                set { subject = value; }
            }
        }}