关于界面设计和程序分离的问题

时间:2023-02-21 20:49:06
我是一个学生,对于界面设计的程序分离这个问题所使用的方法不太清楚,如果有好的方法,大家可以提供。
    特别是在WinForms中,窗体顶部的标题和那三个按钮能不能自定义?窗体内部的控件,比如按钮,当鼠标移动时要改变按钮的背景图(变亮之类),这时要怎么做?特别是很多控件都要应用这种效果时,如果为每个控件都添加MouseOn事件,那是不是很麻烦?
    如果要实现像QQ那种换肤效果呢?
    能不能用一个XML文件列出这些,然后程序从XML文件中读取来实现换肤效果?网上的MAC记事本For Windows这个源码的原理是?
    可能在WEB窗体中要实现这些比较容易一些。
    如果有源码可以借签或者有好的方法提点,请多指教!

13 个解决方案

#1


窗体顶部的标题和那三个按钮能不能自定义?
修改属性就可以 Text, MaxmuimSize, MiniunSize.

#2


帮顶

#3


顶,应该可以有一些特效可以实现这些功能,没用过

#4


一, 在你自己的按钮事件里添加
WindowState = FormWindowState.Minimized; // 窗体最小化
WindowState = FormWindowState.Maximized; // 窗体最大化
WindowState = FormWindowState.Normal;    // 恢复窗体默认大小
二,写方法,然后分别在每个控件的MouseEnter,MouseLeave事件上选择如下两个方法
private void Control_MouseEnter(object sender, System.EventArgs e)
{
((System.Windows.Forms.Control)sender).BackColor = Color.Yellow;
}

private void Control_MouseLeave(object sender, System.EventArgs e)
{
((System.Windows.Forms.Control)sender).BackColor = SystemColors.Control;
}

#5


三,换肤这个没有明确的思路,关注高手的解答

#6


to Kshatriya(无聊),谢谢你的回答,最大小化我知道

但如果一个窗体中有好几个按钮,按你的方法得每个都要写MOUSE事件了,当然也可以小改进一下,将MOUSE事件处理函数处理多个按钮事件。不过这好像不是一个很好的方法,特别是按钮的背景经常改变的话。

不过还是谢谢了

#7


看看MVC的知识 你会对它有比较好的了解

#8


应该结贴了,只可惜没找到答案

#9


MVC的东西楼主应该好好看看
还有,我觉得楼主的意思应该是自定义控件?

#10


换肤最好是自己做好自定义控件的样式

#11


不知道哪有这方面WinForm的参考资料?第三方控件就免了。

对了,MVC是说MVC模式吗?这方面确实不知道

#12


自我了解:Model是针对不同的语言有不同的模式;
         View 是针对界面的设置可以通过控件属性来改
         Control是针对数据库联接可以通过一些DataControl控件或连接数据库的语句来实现
不知道说的是否得体!有错误希望高手指点

#13


好像MVC是这三个的缩写,知道的太少了,呵呵

#1


窗体顶部的标题和那三个按钮能不能自定义?
修改属性就可以 Text, MaxmuimSize, MiniunSize.

#2


帮顶

#3


顶,应该可以有一些特效可以实现这些功能,没用过

#4


一, 在你自己的按钮事件里添加
WindowState = FormWindowState.Minimized; // 窗体最小化
WindowState = FormWindowState.Maximized; // 窗体最大化
WindowState = FormWindowState.Normal;    // 恢复窗体默认大小
二,写方法,然后分别在每个控件的MouseEnter,MouseLeave事件上选择如下两个方法
private void Control_MouseEnter(object sender, System.EventArgs e)
{
((System.Windows.Forms.Control)sender).BackColor = Color.Yellow;
}

private void Control_MouseLeave(object sender, System.EventArgs e)
{
((System.Windows.Forms.Control)sender).BackColor = SystemColors.Control;
}

#5


三,换肤这个没有明确的思路,关注高手的解答

#6


to Kshatriya(无聊),谢谢你的回答,最大小化我知道

但如果一个窗体中有好几个按钮,按你的方法得每个都要写MOUSE事件了,当然也可以小改进一下,将MOUSE事件处理函数处理多个按钮事件。不过这好像不是一个很好的方法,特别是按钮的背景经常改变的话。

不过还是谢谢了

#7


看看MVC的知识 你会对它有比较好的了解

#8


应该结贴了,只可惜没找到答案

#9


MVC的东西楼主应该好好看看
还有,我觉得楼主的意思应该是自定义控件?

#10


换肤最好是自己做好自定义控件的样式

#11


不知道哪有这方面WinForm的参考资料?第三方控件就免了。

对了,MVC是说MVC模式吗?这方面确实不知道

#12


自我了解:Model是针对不同的语言有不同的模式;
         View 是针对界面的设置可以通过控件属性来改
         Control是针对数据库联接可以通过一些DataControl控件或连接数据库的语句来实现
不知道说的是否得体!有错误希望高手指点

#13


好像MVC是这三个的缩写,知道的太少了,呵呵