首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

统制windows服务,控件有3个button,1个datagridview

2012-10-30 
控制windows服务,控件有3个button,1个datagridviewusing System.ServiceProcessServiceController[] sArr

控制windows服务,控件有3个button,1个datagridview
using System.ServiceProcess;
ServiceController[] sArr;
        ServiceController curs;
        public ServiceTest()
        {
            InitializeComponent();
        }
        private void ServiceTest_Load(object sender, EventArgs e)
        {
            Refresh1();
        }
        private void Refresh1()
        {
            sArr = ServiceController.GetServices();
            DataTable dt = Create();
            for (int i = 0; i < sArr.Length; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = sArr[i].ServiceName;
                dr[1] = sArr[i].Status.ToString();
                dr[2] = sArr[i].DisplayName;
                dt.Rows.Add(dr);
            }
            this.dataGridView1.DataSource = dt;
        }
        private DataTable Create()
        {
            DataTable dt = new DataTable("dt");
            DataColumn dc = new DataColumn("name", typeof(string));
            dt.Columns.Add(dc);
            dc = new DataColumn("status", typeof(string));
            dt.Columns.Add(dc);
            dc = new DataColumn("des", typeof(string));
            dt.Columns.Add(dc);
            return dt;
        }
        private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
        {
            DataGridView dg = sender as DataGridView;
            DataGridView.HitTestInfo hit = dg.HitTest(e.X, e.Y);
            switch (hit.Type)
            {
                case DataGridViewHitTestType.Cell:
                    string name = dataGridView1[0, hit.RowIndex].Value.ToString();
                    for (int i = 0; i < sArr.Length; i++)
                    {
                        if (sArr[i].ServiceName.Equals(name))
                        {
                            curs = sArr[i];
                            if (sArr[i].Status == ServiceControllerStatus.Stopped)
                            {
                                this.btnStart.Enabled = true;
                                this.btnStop.Enabled = false;
                            }
                            if (sArr[i].Status == ServiceControllerStatus.Running)
                            {
                                this.btnStart.Enabled = false;
                                this.btnStop.Enabled = true;
                            }
                        }
                    }
                    break;
                case DataGridViewHitTestType.ColumnHeader:
                    break;
                case DataGridViewHitTestType.HorizontalScrollBar:
                    break;
                case DataGridViewHitTestType.None:
                    break;
                case DataGridViewHitTestType.RowHeader:
                    break;
                case DataGridViewHitTestType.TopLeftHeader:
                    break;
                case DataGridViewHitTestType.VerticalScrollBar:
                    break;
                default:
                    break;
            }
        }
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (curs != null)
            {
                curs.Start();
                Refresh1();
            }
        }
        private void btnStop_Click(object sender, EventArgs e)
        {
            if (curs != null)
            {
                curs.Stop();
                Refresh1();
            }
        }
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            Refresh1();
        }

热点排行