常用功能代码收集

=========================================================================================

正则获取博客园文章标题

/<div class="entrylistPosttitle".*<\/a><\/div>/gm

使用方法:

在博客园文章列表页面,在html内容中获取文章标题及链接

=========================================================================================

正则检查IP地址格式

检查IP地址格式是否正确:

                Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");  //方式一
                IPAddress address;
                if (!System.Net.IPAddress.TryParse(txtIP.Text, out address))  //方式二
                    throw new Exception("IP地址格式不正确");

 

=========================================================================================

只允许文本框中输入数字:

        private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

 

=========================================================================================

窗口的创建和销毁事件

窗口查询的创建完成和销毁完成的系统事件,可以做一些初始化和释放资源等事情

        protected override void OnHandleCreated(EventArgs e)
        {
        }

        protected override void OnHandleDestroyed(EventArgs e)
        {
        }

 还有对应的创建和销毁事件:

        protected override void CreateHandle()
        {
            base.CreateHandle();
        }

        protected override void DestroyHandle()
        {
            base.DestroyHandle();
        }

 

=========================================================================================

禁用窗口的关闭按钮

        #region 窗口句柄重写,禁用窗体的关闭按钮      
        private const int CP_NOCLOSE_BUTTON = 0x200;
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams myCp = base.CreateParams;
                myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
                return myCp;
            }
        }
        #endregion

 

=========================================================================================

获取本机MAC地址和IP地址

方法:

        #region 获取本机MAC地址和IP地址的方法
        /// <summary>
        /// 获取本机MAC地址方法
        /// </summary>
        /// <returns></returns>
        private string GetMacAddress()
        {
            try
            {
                //获取网卡硬件地址,需要添加引用:System.Management.dll
                string mac = "";
                System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
                System.Management.ManagementObjectCollection moc = mc.GetInstances();
                foreach (System.Management.ManagementObject mo in moc)
                {
                    if ((bool)mo["IPEnabled"] == true)
                    {
                        mac = mo["MacAddress"].ToString();
                        var ipAddress = mo["IPAddress"];//包括IPv4和IPv6地址
                        break;
                    }
                }
                moc = null;
                mc = null;
                return mac.Replace(":", "-");
            }
            catch
            {
                return "unknow";
            }
        }
        #endregion
View Code

=========================================================================================

获取系统的图片、视频等文件夹路径

获取当前系统用户使用的图片、视频等文件夹路径

string pathp = $@"{Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)}\";

string pathv = $@"{Environment.GetFolderPath(Environment.SpecialFolder.MyVideos)}\wmv\"

string pathv = $@"{Environment.GetFolderPath(Environment.SpecialFolder.MyVideos)}\mp4\"

//计算机名
string computerName = System.Net.Dns.GetHostName();

=========================================================================================

获取当前磁盘信息:

DriveInfo D = DriveInfo.GetDrives().Where(a => a.Name == path.Substring(0, 3).ToUpper()).FirstOrDefault();

Int64 i = D.TotalFreeSpace;

=========================================================================================

把时间写到图片上:

        /// <summary>
        /// 把时间写到图片上
        /// </summary>
        /// <param name="img"></param>
        private void updateFrame(Bitmap img)
        {
            try
            {
                g = Graphics.FromImage(img);
                SolidBrush drawBrush = new SolidBrush(Color.Yellow);
                Font drawFont = new Font("Arial", 18, System.Drawing.FontStyle.Bold, GraphicsUnit.Pixel);
                string drawDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                g.DrawString(drawDate, drawFont, drawBrush, 10, 10);
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (this.g != null)
                    this.g.Dispose();
            }
        }
View Code

 

=========================================================================================

WinForm和WPF程序前台线程弹出消息框

Winform程序:

        private void ToastNotificationManagerCompat_OnActivated(ToastNotificationActivatedEventArgsCompat e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new EventHandler(delegate { ToastNotificationManagerCompat_OnActivated(e); }));
            }
            else
            {
                // Obtain the arguments from the notification
                ToastArguments args = ToastArguments.Parse(e.Argument);

                // Obtain any user input (text boxes, menu selections) from the notification
                ValueSet userInput = e.UserInput;
                MessageBox.Show("Toast activated. Args: " + e.Argument);
            }
        }

WPF程序:

          // Need to dispatch to UI thread if performing UI operations
                Application.Current.Dispatcher.Invoke(delegate
                {
                    MessageBox.Show("Toast activated. Args: " + e.Argument);
                });

 

=========================================================================================

=========================================================================================

=========================================================================================

=========================================================================================

=========================================================================================

=========================================================================================

posted on 2020-12-10 12:42  jack_Meng  阅读(981)  评论(0编辑  收藏  举报

导航