首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Winform怎么获取控件的属性名和值.(所有的)

2013-09-29 
Winform如何获取控件的属性名和值.(所有的).我觉得大家应该有过这样的想法.因为很多时候,我看别人的代码的

Winform如何获取控件的属性名和值.(所有的).
我觉得大家应该有过这样的想法.
因为很多时候,我看别人的代码的时候,他们设置的属性,有时在 CodeBehind中,有时在Properties窗口中,但是有时想比较自己设置的属性和他们的有哪些不同.一个一个地去找,简直不是程序员应该做的.是吧.这个时候该怎么办?

[解决办法]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Test
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public DateTime CreateTime { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Test t = new Test() { ID = 1, Name = "abc", CreateTime = DateTime.Now };
            var query = t.GetType().GetProperties().Select(x => string.Format("{0}: {1}.", x.Name, x.GetValue(t, null).ToString()));
            foreach (string prop in query)
            {
                Console.WriteLine(prop);
            }
        }
    }
}


ID: 1.
Name: abc.
CreateTime: 2013-9-23 1:07:50.
Press any key to continue . . .
[解决办法]
可以通过反射获取相应的方法或者属性
曹版已经说出来了
t.GetType().GetProperties()
[解决办法]
        public void GetParams()
        {
            inItem.Clear();
            this.GetElementInContainer((Control)HttpContext.Current.Handler, inItem);
        }

        public void GetParams(Control container)
        {
            inItem.Clear();
            this.GetElementInContainer(container, inItem);
        }

        private ItemCollection GetElementInContainer(Control container, ItemCollection sc)
        {
            foreach (Control control in container.Controls)
            {

[解决办法]
GetType().GetProperties()

热点排行