⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.cs

📁 一个查看WINCE环境网络参数的程序。用到了OPENNETCF框架。
💻 CS
📖 第 1 页 / 共 2 页
字号:
#region --- Copyright Information --- 
/*
 *******************************************************************
|                                                                   |
|           OpenNETCF Smart Device Framework 2.2                    |
|                                                                   |
|                                                                   |
|       Copyright (c) 2000-2008 OpenNETCF Consulting LLC            |
|       ALL RIGHTS RESERVED                                         |
|                                                                   |
|   The entire contents of this file is protected by U.S. and       |
|   International Copyright Laws. Unauthorized reproduction,        |
|   reverse-engineering, and distribution of all or any portion of  |
|   the code contained in this file is strictly prohibited and may  |
|   result in severe civil and criminal penalties and will be       |
|   prosecuted to the maximum extent possible under the law.        |
|                                                                   |
|   RESTRICTIONS                                                    |
|                                                                   |
|   THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES           |
|   ARE CONFIDENTIAL AND PROPRIETARY TRADE                          |
|   SECRETS OF OPENNETCF CONSULTING LLC THE REGISTERED DEVELOPER IS |
|   LICENSED TO DISTRIBUTE THE PRODUCT AND ALL ACCOMPANYING .NET    |
|   CONTROLS AS PART OF A COMPILED EXECUTABLE PROGRAM ONLY.         |
|                                                                   |
|   THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED      |
|   FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE        |
|   COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE       |
|   AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT  |
|   AND PERMISSION FROM OPENNETCF CONSULTING LLC                    |
|                                                                   |
|   CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON       |
|   ADDITIONAL RESTRICTIONS.                                        |
|                                                                   |
 ******************************************************************* 
*/
#endregion



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using OpenNETCF.Windows.Forms;
using OpenNETCF.Net;
using System.Reflection;
using System.Drawing.Imaging;

namespace NetUI
{
    public partial class MainForm : Form
    {
        private enum CurrentView
        {
            Adapters = 0,
            Networks
        }

        private CurrentView m_currentView = CurrentView.Adapters;
        private AdapterCollection m_adapters;
        private Adapter m_selectedAdapter = null;
        private AccessPointCollection m_lastAPList = null;
        private Timer m_refreshTimer = new Timer();

        public MainForm()
        {
            InitializeComponent();

            itemList.DrawItem += new DrawItemEventHandler(itemList_DrawItem);
            itemList.SelectedIndexChanged += new EventHandler(itemList_SelectedIndexChanged);
            itemList.MouseDown += new MouseEventHandler(itemList_MouseDown);
            itemList.MouseUp += new MouseEventHandler(itemList_MouseUp);
            itemList.LineColor = Color.Black;
            itemList.ItemHeight = 90;
            itemList.ShowLines = true;
            itemList.ContextMenu = adapterMenu;
            itemList.DrawMode = DrawMode.OwnerDrawFixed;

            m_refreshTimer.Interval = 3000;
            m_refreshTimer.Tick += new EventHandler(m_refreshTimer_Tick);
            m_refreshTimer.Enabled = true;

            wirelessNetworkMenu.Click += new EventHandler(wirelessNetworkMenu_Click);

            RefreshAdapterList();

            adaptersMenu.Click += new EventHandler(adaptersMenu_Click);

            releaseMenu.Click += new EventHandler(releaseMenu_Click);
            renewMenu.Click += new EventHandler(renewMenu_Click);
        }

        void itemList_MouseUp(object sender, MouseEventArgs e)
        {
            m_refreshTimer.Enabled = true;
        }

        void itemList_MouseDown(object sender, MouseEventArgs e)
        {
            m_refreshTimer.Enabled = false;
        }

        void m_refreshTimer_Tick(object sender, EventArgs e)
        {
            m_refreshTimer.Enabled = false;

            if (m_currentView == CurrentView.Adapters)
            {
                RefreshAdapterList();                
            }
            else
            {
                RefreshNetworkList();
            }

            m_refreshTimer.Enabled = true;
        }

        void renewMenu_Click(object sender, EventArgs e)
        {
            m_selectedAdapter.DhcpRenew();
            macLabel.Text = gatewayLabel.Text = dhcpLabel.Text = subnetLabel.Text = "";
            RefreshAdapterList();
        }

        void releaseMenu_Click(object sender, EventArgs e)
        {
            m_selectedAdapter.DhcpRelease();
            macLabel.Text = gatewayLabel.Text = dhcpLabel.Text = subnetLabel.Text = "";
            RefreshAdapterList();
        }

        void adaptersMenu_Click(object sender, EventArgs e)
        {
            titleLabel.Text = "Network Adapters";
            m_currentView = CurrentView.Adapters;
            RefreshAdapterList();
        }

        void itemList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (m_currentView == CurrentView.Adapters)
            {
                if ((itemList.SelectedIndex < 0) || (itemList.SelectedIndex >= m_adapters.Count))
                {
                    macLabel.Text = gatewayLabel.Text = dhcpLabel.Text = subnetLabel.Text = "";
                    wirelessNetworkMenu.Enabled = false;
                }
                else
                {
                    m_selectedAdapter = m_adapters[itemList.SelectedIndex];

                    if (m_selectedAdapter.DhcpEnabled)
                    {
                        itemList.ContextMenu = adapterMenu;
                        dhcpLabel.Text = m_selectedAdapter.DhcpServer;
                    }
                    else
                    {
                        itemList.ContextMenu = null;
                        dhcpLabel.Text = "N/A";
                    }
                    gatewayLabel.Text = m_selectedAdapter.Gateway;
                    subnetLabel.Text = m_selectedAdapter.CurrentSubnetMask;
                    macLabel.Text = MACToString(m_selectedAdapter.MacAddress);

                    if (m_selectedAdapter.IsWireless)
                    {
                        wirelessNetworkMenu.Enabled = true;
                    }
                    else
                    {
                        wirelessNetworkMenu.Enabled = false;
                    }
                }
            }
            else
            {
                if (itemList.SelectedIndex < 0)
                {
                }
                else
                {
                }
            }
        }

        void wirelessNetworkMenu_Click(object sender, EventArgs e)
        {
            if(itemList.SelectedIndex >= 0)
            {
                titleLabel.Text = "Wireless Networks";

                m_currentView = CurrentView.Networks;

                RefreshNetworkList();
            }
        }

        Font m_itemTitleFont = new Font(FontFamily.GenericSansSerif, 10F, FontStyle.Bold);
        Brush m_itemTitleBrush = new SolidBrush(Color.Blue);
        Font m_itemDetailFont = new Font(FontFamily.GenericSansSerif, 8F, FontStyle.Regular);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -