当前位置: 首页 > news >正文

gif图片动态素材网站卡片式设计网站

gif图片动态素材网站,卡片式设计网站,英语培训机构,公司建网站 内部邮箱【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 写图形界面软件的时候#xff0c;我们经常会遇到一种情况。那就是图形界面上面#xff0c;显示的控件可能是不定的。有可能多#xff0c;也有可…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 写图形界面软件的时候我们经常会遇到一种情况。那就是图形界面上面显示的控件可能是不定的。有可能多也有可能少具体显示多少内容需要根据配置文件而来。这样对我们来说其实是有点尴尬的。毕竟大多数场景软件打开来之后什么地方配置哪些内容都是已经确定好的。 不过没关系c# wpf也考虑到了这一点我们可以通过编写代码的方法进行灵活添加和设置。毕竟在xaml文件留下来的只是一个空的grid界面而已。 1、xaml界面设计 xaml界面就比较简单为了显示方便我们设计了两行。第一行的高度为100剩下来的空间全部留给第二行。为了放置控件还特地给这个grid起了一个名字叫mainGrid。 Window x:ClassWpfApp.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfAppmc:IgnorabledTitleMainWindow Height450 Width600Grid Grid.RowDefinitionsRowDefinition Height100 /RowDefinition //Grid.RowDefinitionsGrid Grid.Row1 x:NamemainGrid!-- Add your own layout here --/Grid/Grid /Window 2、初始化按钮 目前这个case只是为了演示如何添加控件。添加的内容比较少就是一个按钮。首先初始化按钮设置按钮的属性分别是content、width和height。同时还给这个按钮配置了一个回调函数。按钮设置好了再创建一个stack panel将按钮装在这个stack panel里面。最后也是最重要的一步就是把stack panel保存到mainGrid的space里面这样就实现了整个界面的部分。 public MainWindow(){InitializeComponent();AddButtonDynamically();}private void AddButtonDynamically(){// 创建一个新的Button控件Button newButton new Button();// 设置Button的属性newButton.Content Click me!;newButton.Width 100;newButton.Height 100;// 为Button添加Click事件处理程序newButton.Click NewButton_Click;// 创建一个StackPanel并将Button添加到其中StackPanel stackPanel new StackPanel();stackPanel.Children.Add(newButton);// 将StackPanel添加到窗口中的Grid中mainGrid.Children.Add(stackPanel);} 按钮回调函数如下所示 // Click事件处理程序private void NewButton_Click(object sender, RoutedEventArgs e){MessageBox.Show(Button Clicked!);} 3、多线程中更新界面 除了动态添加空间之外另外一部分要注意的就是界面部分和多线程的更新。启动一个线程很简单不过如果如果在新的线程里面更新界面这个是需要注意下的。为了说明这个问题我们更新下界面 Window x:ClassWpfApp.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfAppmc:IgnorabledTitleMainWindow Height450 Width600Grid Grid.RowDefinitionsRowDefinition Height100 /RowDefinition //Grid.RowDefinitionsLabel x:Nametext Grid.Row0 Content0 HorizontalAlignmentCenter/LabelGrid Grid.Row1 x:NamemainGrid!-- Add your own layout here --/Grid/Grid /Window这个界面和之前的区别就是多了一个Label放在了row 0当中命名为text。解析来为了说明多线程首先我们添加多线程库 using System.Threading; 添加完了之后就可以创建线程启动线程了。一般每个线程都有对应的线程入口函数 public MainWindow(){InitializeComponent();AddButtonDynamically();Thread newThread new Thread(new ThreadStart(ThreadMethod));newThread.Start();}private void ThreadMethod(){int cnt 0;while(true){cnt 1;Dispatcher.Invoke(() {// 在UI线程上执行操作如果需要text.Content Convert.ToString(cnt);});Thread.Sleep(1000);}} 多线程的操作很正常这里面需要注意的就是text更新的部分。也就是说如果需要更新界面的内容最好用Dispatcher.Invoke()的方法来实现。
http://www.dnsts.com.cn/news/235006.html

相关文章:

  • 网站想建设子站网站未备案可以上线吗
  • 河北住建局与建设厅网站wordpress分类目录进不去
  • 微网站 制作网站与维护
  • 网站建设与管理案例教程ppt如何收集网站建设资料
  • 祥云网站建设公司 概况郑州网站建设方案服务
  • 企业建设网站的步骤是什么隆尧网站建设
  • 做网站为什么要买网站空间规模以上工业企业的标准是什么
  • 网站备案个人转企业苏州那家公司做网站比较好
  • 已有域名怎么建设网站网页小游戏在线玩知乎
  • 网站备案咨询广告设计哪里可以学
  • 郑州手机端网站建设wordpress代码混乱
  • 企业制作网站哪家好阳江企业网站排名优化
  • 用凡科做网站的费用网站用什么做内网穿透比较好
  • 涡阳网站优化软件开发公司的优势
  • 胖哥食品网站建设规范意见越影网站建设
  • wordpress添加电台seo建设者
  • 电商网站经营性备案做ppt图片用的网站
  • 网站域名做链接怎么做西安房产网站建设
  • 合肥做检查军大网站网络销售模式 自建网站
  • 网站如何做sem优化网站制作想法
  • 网站ppt缩略图wordpress 加密功能
  • 做网站公司简介模版聊城建网站哪家好
  • 唐山如何做百度的网站php 外贸商城网站建设
  • 台州企业网站模板建站把做的网站发布打万维网上
  • 郑州驾校网站建设wordpress 自动相册
  • 局域网多网站建设微信推广营销
  • 长沙网站制作服务网络营销可以做什么工作
  • 网站用哪个数据库厦门市建设工程安全质量协会网站
  • 做网站都用什么软件微信小程序怎么做活动
  • 晾衣架 东莞网站建设重庆百度推广的代理商