首页
关于
统计
加速器
Search
1
网址自动推送百度API源码(PHP源码)
447 阅读
2
宝塔面板7.7.0版本原版安装+升级脚本
300 阅读
3
宝塔LINUX企业永久付费破解版 所有专业版企业版插件免费使用!
298 阅读
4
宝塔面板插件破解方法
226 阅读
5
一键注销名下多余手机号
202 阅读
新闻中心
WinForm
WinForm成品
WinForm源码
WinForm代码段
E语言
E成品
E源码
WEB
PHP代码
web源码
建站程序
网站文章
BT
网络安全
软件工具
技术教程
活动线报
闲聊
登录
Search
标签搜索
宝塔面板
源码
PHP
BT
百度
Typecho
IP
C#进程守护
进程守护
Winform进程守护
宝塔企业版
宝塔专业版
监控报表
建站程序
Winform除法
winform窗体透明背景实现
网络检测
宝塔面板卸载
去掉index.php
Winform向服务器请求图片
Root's small world
累计撰写
73
篇文章
累计收到
140
条评论
今日撰写
0
篇文章
首页
栏目
新闻中心
WinForm
WinForm成品
WinForm源码
WinForm代码段
E语言
E成品
E源码
WEB
PHP代码
web源码
建站程序
网站文章
BT
网络安全
软件工具
技术教程
活动线报
闲聊
页面
关于
统计
加速器
用户登录
登录
搜索到
9
篇与
WinForm代码段
的结果
2022-06-20
C#中的WinForm问题——使用滚动条时页面闪烁及重影问题
C#中的WinForm问题——使用滚动条时页面闪烁及重影问题当使用鼠标进行滚动查看页面时,由于页面会频繁刷新,如果页面中控件较多会导致页面出现闪烁、重影等问题,如下图所示:具体的解决方案是通过设置CreateParams的ExStyle为ExStyle 为 0x02000000 (WS_EX_COMPOSITED)。protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } }
2022年06月20日
11 阅读
0 评论
0 点赞
2022-06-12
WinForm系统托盘双击打开窗体
this.Visible = true; this.WindowState = FormWindowState.Normal;//双击打开窗体
2022年06月12日
9 阅读
0 评论
0 点赞
2022-06-12
WinForm关闭窗体时系统托盘不死
在窗体的FormClosing事件添加代码↓notifyIcon.Visible = false;//关闭系统托盘
2022年06月12日
14 阅读
0 评论
0 点赞
2022-06-11
WinForm播放mp3音频代码段
#region 播放音频 public class Mp3Player { //定义API函数使用的字符串变量 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] private string Name = ""; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] private string durLength = ""; [MarshalAs(UnmanagedType.LPTStr, SizeConst = 128)] private string TemStr = ""; private int ilong; //定义播放状态枚举变量 public enum State { mPlaying = 1, mPuase = 2, mStop = 3 }; //结构变量 public struct structMCI { public bool bMut; public int iDur; public int iPos; public int iVol; public int iBal; public string iName; public State state; }; public structMCI mc = new structMCI(); //取得播放文件属性 public string FileName { get { return mc.iName; } set { //ASCIIEncoding asc = new ASCIIEncoding(); try { TemStr = ""; TemStr = TemStr.PadLeft(127, Convert.ToChar(" ")); Name = Name.PadLeft(260, Convert.ToChar(" ")); mc.iName = value; ilong = APIClass.GetShortPathName(mc.iName, Name, Name.Length); Name = GetCurrPath(Name); //Name = "open " + Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media"; Name = "open " + Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media"; ilong = APIClass.mciSendString("close all", TemStr, TemStr.Length, 0); ilong = APIClass.mciSendString(Name, TemStr, TemStr.Length, 0); ilong = APIClass.mciSendString("set media time format milliseconds", TemStr, TemStr.Length, 0); mc.state = State.mStop; } catch { } } } //播放 public void play() { TemStr = ""; TemStr = TemStr.PadLeft(127, Convert.ToChar(" ")); APIClass.mciSendString("play media", TemStr, TemStr.Length, 0); mc.state = State.mPlaying; } //停止 public void StopT() { TemStr = ""; TemStr = TemStr.PadLeft(128, Convert.ToChar(" ")); ilong = APIClass.mciSendString("close media", TemStr, 128, 0); ilong = APIClass.mciSendString("close all", TemStr, 128, 0); mc.state = State.mStop; } public void Puase() { TemStr = ""; TemStr = TemStr.PadLeft(128, Convert.ToChar(" ")); ilong = APIClass.mciSendString("pause media", TemStr, TemStr.Length, 0); mc.state = State.mPuase; } private string GetCurrPath(string name) { if (name.Length < 1) return ""; name = name.Trim(); name = name.Substring(0, name.Length - 1); return name; } //总时间 public int Duration { get { durLength = ""; durLength = durLength.PadLeft(128, Convert.ToChar(" ")); APIClass.mciSendString("status media length", durLength, durLength.Length, 0); durLength = durLength.Trim(); if (durLength == "") return 0; return (int)(Convert.ToDouble(durLength) / 1000f); } } //当前时间 public int CurrentPosition { get { durLength = ""; durLength = durLength.PadLeft(128, Convert.ToChar(" ")); APIClass.mciSendString("status media position", durLength, durLength.Length, 0); mc.iPos = (int)(Convert.ToDouble(durLength) / 1000f); return mc.iPos; } } } public class APIClass { [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static extern int GetShortPathName( string lpszLongPath, string shortFile, int cchBuffer ); [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)] public static extern int mciSendString( string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback ); } #endregion /* *下面的代码可以放到按钮控件内 /* #region 播放 Mp3Player mp3Play = new Mp3Player() { FileName = @"C:\ProgramData\User\music.mp3", }; mp3Play.play(); #endregion #region 暂停 Mp3Player mp3Play = new Mp3Player() { }; mp3Play.Puase(); #endregion
2022年06月11日
6 阅读
0 评论
0 点赞
2022-02-16
C# 实现类似QQ的窗体在桌面边缘停靠和隐藏
C# 实现类似QQ的窗体在桌面边缘停靠和隐藏设计思路: 1.使用定时器(Timer)来监控鼠标位置和窗体位置,并实现窗体的停靠和隐藏2.当鼠标拖动窗体时,窗体才有可能根据自身位置决定是否停靠3.如果窗体四周没有接触到屏幕边缘则不会停靠4.如果窗体最小化或最大化了则不存在停靠和隐藏5.如果鼠标拖动窗体时,如果窗体很接近屏幕边缘则自动将其停靠在该边缘,例如窗体离屏幕顶部小于4个像素则自动将其停靠在顶部6.窗体可以在桌面的左侧、右侧和顶部停靠和隐藏7.如果既满足顶部停靠的条件又满足侧面停靠的条件,则规定其向侧面隐藏8.当鼠标位于窗体内部时,窗体不会隐藏9.当鼠标位于窗体外部,窗体根据自身的位置决定是否隐藏10.所谓的隐藏实际上并不是真正的隐藏,而是将整个窗体移出屏幕,仅在屏幕边缘留出一小部分11.所谓的显示隐藏窗体实际上并不是真正的显示,而是将窗体再次移入屏幕12.(存在的问题)默认情况下当用户点击“显示桌面”,会使我们隐藏的窗体被最小化。显然这并不是我们想要的结果,该问题暂时保留效果显示: private void timer1_Tick(object sender, EventArgs e) { timer1.Interval = 200; AutoSideHideOrShow(); } void AutoSideHideOrShow() { int sideThickness = 4;//边缘的厚度,窗体停靠在边缘隐藏后留出来的可见部分的厚度 //如果窗体最小化或最大化了则什么也不做 if (this.WindowState == FormWindowState.Minimized || this.WindowState == FormWindowState.Maximized) { return; } //如果鼠标在窗体内 if (Cursor.Position.X >= this.Left && Cursor.Position.X < this.Right && Cursor.Position.Y >= this.Top && Cursor.Position.Y < this.Bottom) { //如果窗体离屏幕边缘很近,则自动停靠在该边缘 if (this.Top <= sideThickness) { this.Top = 0; } if (this.Left <= sideThickness) { this.Left = 0; } if (this.Left >= Screen.PrimaryScreen.WorkingArea.Width - this.Width - sideThickness) { this.Left = Screen.PrimaryScreen.WorkingArea.Width - this.Width; } } //当鼠标离开窗体以后 else { //隐藏到屏幕左边缘 if (this.Left == 0) { this.Left = sideThickness - this.Width; } //隐藏到屏幕右边缘 else if (this.Left == Screen.PrimaryScreen.WorkingArea.Width - this.Width) { this.Left = Screen.PrimaryScreen.WorkingArea.Width - sideThickness; } //隐藏到屏幕上边缘 else if (this.Top == 0 && this.Left > 0 && this.Left < Screen.PrimaryScreen.WorkingArea.Width - this.Width) { this.Top = sideThickness - this.Height; } } }
2022年02月16日
43 阅读
0 评论
0 点赞
2021-12-25
Winform向服务器请求图片
图片控件.ImageLocation = @图片地址;
2021年12月25日
34 阅读
0 评论
0 点赞
2021-12-25
Winform通过ping baidu.com 检测网络
Ping pingSender = new Ping(); PingReply reply = null; try { reply = pingSender.Send("www.baidu.com", 1000); //if判断是否可以连接网站 } catch (Exception) { } finally { if (reply == null || (reply != null && reply.Status != IPStatus.Success)) {//网络连接失败 } else {//网络正常 if (reply.Status == IPStatus.Success) //if判断网络正常状态 { } } }
2021年12月25日
61 阅读
0 评论
0 点赞
2021-12-25
winform窗体透明背景实现
因为winform Form窗体的局限性,不允许设置背景色为transparent。所以不能实现透明背景。这里有一个取巧的方法(截Form后的背景)。首先来看下实现效果: 想要实现半透明效果只要加个panel ,将panel设置为背景色透明,然后加个遮罩图片就可以了。 以下附上实现代码:using System; using System.Drawing; using System.Windows.Forms; namespace WindowsTrans { public partial class Form1 : Form { private Color tr_color = Color.Transparent; private bool b_start = false; bool[] b_visible = null; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { SetBackgroundImageTransparent(); } private void SetBackgroundImageTransparent() { Point pt = this.PointToScreen(new Point(0, 0)); Bitmap b = new Bitmap(this.Width, this.Height); using (Graphics g = Graphics.FromImage(b)) { g.CopyFromScreen(pt, new Point(), new Size(this.Width, this.Height)); } this.BackgroundImage = b; } private void BeginSet() { tr_color = this.TransparencyKey; b_start = true; } private void Setting() { if (b_start) { b_visible = new bool[Controls.Count]; for (int i = 0; i < Controls.Count; i++) { b_visible[i] = Controls[i].Visible; Controls[i].Visible = false; } BackgroundImage = null; BackColor = Color.White; b_start = false; this.TransparencyKey = Color.White; } } private void EndSet() { SetBackgroundImageTransparent(); this.TransparencyKey = tr_color; for (int i = 0; i < Controls.Count; i++) { Controls[i].Visible = b_visible[i]; } b_start = false; } private void Form1_Resize(object sender, EventArgs e) { Setting(); } private void Form1_ResizeBegin(object sender, EventArgs e) { BeginSet(); } private void Form1_ResizeEnd(object sender, EventArgs e) { EndSet(); } private void Form1_Move(object sender, EventArgs e) { Setting(); } } }
2021年12月25日
64 阅读
0 评论
0 点赞
2021-12-25
C# 中的除法运算
%"为取余号。"/"号做什么运算与除数和被除数的类型有关整形运算是取整(不进行四舍五入只取整数部分) int a = 4; int b = 5; float c = a / b; Console.WriteLine(c); Console.ReadKey();结果为c=0(因为会先进行int的除法操作,得出结果0,再将结果转为float 0;);2.浮点运算时为除法运算 float a = 4; float b = 5; float c = a / b; Console.WriteLine(c); Console.ReadKey();结果 c=0.8Math.Celling()取整数的较大数,相当于不管余数是什么都会进一位。如Math.Celling(54.0/10.0)结果为6.Math.Floor()取整数的较小数,相当于"/"号,即不管余数部分是什么都不进行进位。如Math.Floor(56.0/10.0)的结果是5.
2021年12月25日
53 阅读
0 评论
0 点赞