35岁老男人求助:如何编写公共类方法,全局调用

问题描述

初学者,自己做个小软件。窗体设置为无边框,加了label控件,拖动此label控件可以拖动窗体移动。每个窗体都是采用这个办法,我想编写一个公共方法,都来调用。Pointmouseoff;//定义鼠标移动位置变量boolleftflag;//定义标签是否为左键privatevoidlabel1_MouseDown(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){mouseoff=newPoint(-e.X,-e.Y);//得到变量的值leftflag=true;//点击左键按下时标注为true}}privatevoidlabel1_MouseMove(objectsender,MouseEventArgse){if(leftflag){Pointmouseset=Control.MousePosition;mouseset.Offset(mouseoff.X,mouseoff.Y);//设置移动后的位置Location=mouseset;}}privatevoidlabel1_MouseUp(objectsender,MouseEventArgse){if(leftflag){leftflag=false;//释放鼠标后标注为false}}每新建窗体都需要加这些代码,有没有写成办法简单调用就行了。

解决方案

解决方案二:
新建一个用户控件,加个Label,把这些代码放进去以后从工具箱拖出来就行了
解决方案三:
写一个baseform:form,这些代码在baseform里面,然后其它form继承自这个baseform
解决方案四:
引用2楼starfd的回复:

写一个baseform:form,这些代码在baseform里面,然后其它form继承自这个baseform

空闲时能不能写出来,我水平太次,感激。
解决方案五:
参考,无边框的窗体,移动和改变大小usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Diagnostics;namespaceHSEI.Windows.Forms{publicpartialclassMetroForm:Form{privateenumMouseBorderLocation{None,TopLeft,Top,TopRight,Left,Right,BottomLeft,Bottom,BottomRight}privatebool_isUpdateFormCur=true;privateint_borderWidth=5;privatePoint_ptMouseDown=Point.Empty;privateRectangle_mouseDownBounds=Rectangle.Empty;privateRectangleF_rectBorder=RectangleF.Empty;privateMouseBorderLocation_mouseLoc=MouseBorderLocation.None;privateCursor_cur=Cursors.Arrow;publicMetroForm(){InitializeComponent();this.MaximumSize=Screen.GetWorkingArea(this).Size;this.Padding=newPadding(4);CalcBorderArea();WinApi.SetClassLong(this.Handle,WinApi.GCL_STYLE,WinApi.GetClassLong(this.Handle,WinApi.GCL_STYLE)|WinApi.CS_DropSHADOW);}//publicoverrideRectangleDisplayRectangle//{//get//{//varrect=base.DisplayRectangle;//returnnewRectangle(_borderWidth,_borderWidth,rect.Width-2*_borderWidth,//rect.Height-2*_borderWidth);//}//}publicoverrideCursorCursor{get{returnbase.Cursor;}set{base.Cursor=value;if(_isUpdateFormCur){_cur=value;}}}protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);if(this.WindowState!=FormWindowState.Maximized){Rectanglerect=Rectangle.Round(_rectBorder);e.Graphics.DrawRectangle(newPen(Theme.CurrentTheme.GetPressedBorderColor()),rect);//rect=newRectangle(rect.Left+1,rect.Top+1,rect.Width-2,rect.Height-2);//e.Graphics.DrawRectangle(Pens.White,rect);}}protectedoverridevoidOnSizeChanged(EventArgse){base.OnSizeChanged(e);CalcBorderArea();if(IsMaxSize()){ReloadCursor();}this.Invalidate();}protectedoverridevoidOnMouseMove(MouseEventArgse){base.OnMouseMove(e);if(!IsMaxSize()&&MouseButtons==System.Windows.Forms.MouseButtons.None){CalcMousePostion(e.X,e.Y);switch(_mouseLoc){caseMouseBorderLocation.TopLeft:caseMouseBorderLocation.BottomRight:SetCursor(Cursors.SizeNWSE);break;caseMouseBorderLocation.Top:caseMouseBorderLocation.Bottom:SetCursor(Cursors.SizeNS);break;caseMouseBorderLocation.TopRight:caseMouseBorderLocation.BottomLeft:SetCursor(Cursors.SizeNESW);break;caseMouseBorderLocation.Left:caseMouseBorderLocation.Right:SetCursor(Cursors.SizeWE);break;caseMouseBorderLocation.None:SetCursor(Cursors.Arrow);break;}}elseif(!IsMaxSize()&&MouseButtons==System.Windows.Forms.MouseButtons.Left){//this.SuspendLayout();intshiftx=Cursor.Position.X-_ptMouseDown.X;intshifty=Cursor.Position.Y-_ptMouseDown.Y;intx=_mouseDownBounds.X;inty=_mouseDownBounds.Y;intw=_mouseDownBounds.Width;inth=_mouseDownBounds.Height;intleft=Left;inttop=Top;intwidth=Width;intheight=Height;switch(_mouseLoc){caseMouseBorderLocation.TopLeft:left=x+shiftx;top=y+shifty;width=w-shiftx;height=h-shifty;break;caseMouseBorderLocation.Top:left=x;top=y+shifty;width=w;height=h-shifty;break;caseMouseBorderLocation.TopRight:left=x;top=y+shifty;width=w+shiftx;height=h-shifty;break;caseMouseBorderLocation.Left:left=x+shiftx;top=y;width=w-shiftx;height=h;break;caseMouseBorderLocation.Right:left=x;top=y;width=w+shiftx;height=h;break;caseMouseBorderLocation.BottomLeft:left=x+shiftx;top=y;width=w-shiftx;height=h+shifty;break;caseMouseBorderLocation.Bottom:left=x;top=y;width=w;height=h+shifty;break;caseMouseBorderLocation.BottomRight:left=x;top=y;width=w+shiftx;height=h+shifty;break;}if(width<MinimumSize.Width){width=MinimumSize.Width;}if(height<MinimumSize.Height){height=MinimumSize.Height;}this.Bounds=newRectangle(left,top,width,height);//this.ResumeLayout();}}protectedoverridevoidOnMouseDown(MouseEventArgse){base.OnMouseDown(e);if(!IsMaxSize()&&e.Button==System.Windows.Forms.MouseButtons.Left){_ptMouseDown=Cursor.Position;_mouseDownBounds=this.Bounds;CalcBorderArea();}}privatevoidCalcBorderArea(){//floatx=_borderWidth/2f;_rectBorder=newRectangleF(0,0,Width-1,Height-1);}protectedoverridevoidOnMouseLeave(EventArgse){base.OnMouseLeave(e);ReloadCursor();}privatevoidCalcMousePostion(intx,inty){intb=_borderWidth;if(x<=b){if(y<=b){_mouseLoc=MouseBorderLocation.TopLeft;}elseif(y>b&&y<=Height-2*b){_mouseLoc=MouseBorderLocation.Left;}else{_mouseLoc=MouseBorderLocation.BottomLeft;}}elseif(x>b&&x<Width-2*b){if(y<=b){_mouseLoc=MouseBorderLocation.Top;}elseif(y>b&&y<=Height-2*b){_mouseLoc=MouseBorderLocation.None;}else{_mouseLoc=MouseBorderLocation.Bottom;}}else{if(y<=b){_mouseLoc=MouseBorderLocation.TopRight;}elseif(y>b&&y<=Height-2*b){_mouseLoc=MouseBorderLocation.Right;}else{_mouseLoc=MouseBorderLocation.BottomRight;}}}privateboolIsMaxSize(){returnWindowState==FormWindowState.Maximized;}privatevoidSetCursor(Cursorcur){_isUpdateFormCur=false;Cursor=cur;_isUpdateFormCur=true;}privatevoidReloadCursor(){SetCursor(_cur);}}}

解决方案六:
你要学习下继承。
解决方案七:
1楼和2楼的思路都可行,但是如果你不会的话就尴尬了........另:35还不老好吧?我也35了,但是我还觉得年轻着呢
解决方案八:
35岁初学编程?有毅力
解决方案九:
做成用户控件,比继承什么的要好用。

时间: 2024-11-02 13:15:07

35岁老男人求助:如何编写公共类方法,全局调用的相关文章

老男人创业也有春天

摘要: 梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵 <老男孩> 用一个词形容35岁的男人,大家会想到什么? 大叔? 成熟? 世故? 35岁在大多数人眼中都是道无形的坎儿,事 梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵 -- <老男孩> 用一个词形容35岁的男人,大家会想到什么? 大叔? 成熟? 世故? 35岁在大多数人眼中都是道无形的坎儿,事业的瓶颈,家庭的压力,机械的生活,还有呈指数下降的精力,体力和创造力.创业对于许多35岁的男人来说,或和那场风

吕海波(Vage)- 突然35岁:捡点我的职业生涯

吕海波(Vage)- 突然35岁:捡点我的职业生涯 网址: http://www.eygle.com/digest/2013/07/vage_35_alibaba.html                                      本文引自Vage个人网站,原文链接:http://www.mythdata.com/post/15.html 十五年前,你或许还不懂爱情,看Jack和Rose执手相看泪眼,只是蒙胧的心痛.十五年后,你会和谁一起走进影院,更会和谁一起,走到生命终点. 十

【IT生活】吕海波:阿里巴巴离职DBA职业生涯总结:突然35岁

吕海波:阿里巴巴离职DBA职业生涯总结:突然35岁 原文地址 http://bbs.51cto.com/thread-926748-1.html作者吕海波:曾任阿里巴巴B2B子公司首席DBA.著有<Oracle核心技术揭密> 十五年前,你或许还不懂爱情,看Jack和Rose执手相看泪眼,只是蒙胧的心痛.十五年后,你会和谁一起走进影院,更会和谁一起,走到生命终点. 十五年前,我还不太懂技术,凭兴趣玩着C语言.十五年后,当铁达尼的旋律再次响起,我会选择和哪门技术,一起走到我职业生涯的终点. 序言

阿里巴巴离职DBA职业生涯总结:突然35岁~

摘自:http://bbs.51cto.com/thread-926748-1.html 十五年前,你或许还不懂爱情,看Jack和Rose执手相看泪眼,只是蒙胧的心痛.十五年后,你会和谁一起走进影院,更会和谁一起,走到生命终点.十五年前,我还不太懂技术,凭兴趣玩着C语言.十五年后,当铁达尼的旋律再次响起,我会选择和哪门技术,一起走到我职业生涯的终点. 序言 ---- 回望雨中的园区,更是回望来时的路.       此时天空飘着小雨,正如丝丝织雨细如愁.我刚刚离职,一路走出园区,回望了一眼雨中阿里

微软迎来35岁生日:盘点经典时刻

导读:美国IT网站ComputerWorld专栏作家普雷斯顿·格拉拉(Preston Gralla)今天撰文,列举了微软创立35年来的一系列重大事件. 以下为文章概要: 1875年,刚刚从哈佛大学退学的比尔·盖茨(Bill Gates)和他在高中时的好友保罗·艾伦(Paul Allen)一起创建了一家小公司,专门为一款名为Altair 8800的微型计算机编写软件.他们的第一款产品名为Altair BASIC语言.同一年,这家公司被命名为Micro-soft,随后又改成了MicroSoft,最终

IBM深圳35岁未婚女高管疑因低血糖地铁内晕倒 50分钟后死亡

梁娅的父母拿着女儿的照片泪流不止.梁娅的家人赶到深圳地铁水湾站C出口.17日,梁娅在这里晕倒后死亡.南都讯 2月17日上午10点29分,35岁的IBM深圳公司管理人员梁娅倒在深圳地铁蛇口线水湾站C出口的台阶上,并保持这一姿态达50分钟.监控录像显示,在梁娅倒下后有发出求救的动作.三分钟后,有市民发现并告知地铁工作人员.随后地铁工作人员赶到,民警也在2 5分钟后赶到.11点18分,急救人员到达现场发现梁娅已经死亡.市民:及时通知地铁人员地铁的监控录像记录下2月17日当天梁娅从倒下到被宣布死亡的全过

男人四十一枝花游戏中的魅力老男人

前言:俗话说男人四十一枝花,女人四十豆腐渣(十万名资深妇女:这个编辑给我去shi!),游戏中的美女再性感娇艳,也抵不过岁月的侵蚀,反倒是那些低调的男人们越老越有感觉,散发着阵阵成熟的魅力.在我国的传统节日三八妇女节来临之际,让我们来看看这些沧桑的妇女之友吧. <超级马里奥兄弟>马里奥 说马里奥是老男人似乎有点儿冤枉了他,毕竟人家去年才过完25岁生日,不过这种工作服小胡子的形象也难怪会让人误会他的实际年龄了.自从诞生之初,马里奥就以一个大叔的身份踏上了营救年轻貌美的公主的征途,这到底是怎样的一种

41岁阿里工程师:35岁转管理,真的是必经之路吗?

今年的程序员节,也恰恰是我在阿里工作满3年的时候,借此机会盘点一下自己近3年来的工作,也为自己后续发展把把关.个人的眼界和思考总是有限的,特别是对于研究和技术领域来说,知道得越多,其实就会知道自己有多无知,从而对未知心生敬畏,并因未知的广阔而兴奋. 我是1976年生人,属龙,今年41岁,所以可以算是老程序员了,15年前我读研的时候,就被一起创业的小伙伴称为老何了.我对写代码确实喜欢,大概在96年,大三的时候拿到了高级程序员证书,算是一桩可以拿来吹的事. 博士毕业工作以来,最大的乐趣就是学习和深入

从30岁到35岁:为你的生命多积累一些厚度

常常思考一个问题:是不是考虑做2年开发,打2年酱油,然后结婚生子,这样到底行不行?无论你是男是女,人生是一场独自修行的道路.如果在可以选的时候,还是选择靠自己吧. 无论你是要养家还是要实现人生价值,如果你处在迷茫之中,希望这篇文章可以传达一些正能量,可以帮到你.--当然这篇文章是转的呀,但真的很有理啊,假如看了这篇文章,会影响到你的一生,那么我就觉得今天这一小时的时间花在这里值了.   你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇:你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承