您的位置 首页 > 雕刻工具

messagebox(MessageBox)

这篇文章给大家聊聊关于messagebox,以及MessageBox对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

自定义一个MessageBox,主要就是样式调整美观点。

privatevoidbzButton1_Click(objectsender,EventArgse)\n{\nBzMessageBoxmessageBox=newBzMessageBox();\nmessageBox.ShowMessageBox(BzMessageBox.enumType.Success,"Hello","一个好人",newAction(DoOk),newAction(DoClose));\n}\n\nvoidDoOk()\n{\nMessageBox.Show("DoOk");\n}\n\nvoidDoClose()\n{\nMessageBox.Show("DoClose");\n}

publicpartialclassBzMessageBox:Form\n{\nAction_actionOk=null;\nAction_actionClose=null;\n\nprivateboolisOk=false;\npublicenumenumType\n{\nSuccess,\nWarning,\nError,\nInfo\n}\n\npublicBzMessageBox()\n{\nInitializeComponent();\n}\n\npublicvoidShowMessageBox(enumTypetype,stringtitle,stringmessage,Actionactionok=null,Actionactionclose=null)\n{\nthis.lblTitle.Text=title;\nthis.lblContext.Text=message;\n_actionOk=actionok;\n_actionClose=actionclose;\nswitch(type)\n{\ncaseenumType.Success:\nbtnOk.BackColor=Color.SeaGreen;\nthis.pnlBottom.BackColor=Color.SeaGreen;\nbreak;\ncaseenumType.Warning:\nbtnOk.BackColor=Color.DarkOrange;\nthis.pnlBottom.BackColor=Color.DarkOrange;\nbreak;\ncaseenumType.Error:\nbtnOk.BackColor=Color.DarkRed;\nthis.pnlBottom.BackColor=Color.DarkRed;\nbreak;\ncaseenumType.Info:\nbtnOk.BackColor=Color.RoyalBlue;\nthis.pnlBottom.BackColor=Color.RoyalBlue;\nbreak;\ndefault:\nbreak;\n}\nthis.ShowDialog();\n}\nprotectedoverridevoidOnPaint(PaintEventArgse)\n{\nbase.OnPaint(e);\ne.Graphics.DrawRectangle(newPen(newSolidBrush(Color.WhiteSmoke)),newRectangle(0,0,this.Width-1,this.Height-1));\n}\n\nprivatevoidBzMessageBox_MouseDown(objectsender,MouseEventArgse)\n{\nBz.Win32.Api.ReleaseCapture();\nBz.Win32.Api.SendMessage(this.Handle,0x112,0xf012,0);\n}\n\nprivatevoidbtnOk_Click(objectsender,EventArgse)\n{\nisOk=true;\nif(_actionOk!=null)\n{\n_actionOk();\n}\nthis.Close();\n}\n\nprivatevoidbtnClose_Click(objectsender,EventArgse)\n{\nthis.Close();\n}\n\nprivatevoidpicClose_Click(objectsender,EventArgse)\n{\nthis.Close();\n}\n\nprotectedoverridevoidOnClosed(EventArgse)\n{\nbase.OnClosed(e);\nif(isOk)\n{\nreturn;\n}\nif(_actionClose!=null)\n{\n_actionClose();\n}\n}\n\nprivatevoidplnTop_MouseDown(objectsender,MouseEventArgse)\n{\nBz.Win32.Api.ReleaseCapture();\nBz.Win32.Api.SendMessage(this.Handle,0x112,0xf012,0);\n}\n}

[DllImport("user32.dll")]\npublicstaticexternboolReleaseCapture();

[DllImport("user32.dll")]\npublicstaticexternboolSendMessage(System.IntPtrhWnd,intMsg,intwParam,intlParam);

以上两个Win32Api主要用于拖拽窗口

关于messagebox到此分享完毕,希望能帮助到您。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023