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

珠海企业集团网站建设吉林关键词优化的方法

珠海企业集团网站建设,吉林关键词优化的方法,网站源码酒类,镇江公司网站建设在共享项目中手动编码创建 UI#xff08;如通过代码逐个初始化控件#xff09;的优缺点可简单汇总如下#xff1a; 优点#xff1a; 代码可控性强#xff1a;直接操作控件属性和布局#xff0c;避免设计器生成的冗余代码#xff0c;便于理解和调试。灵活性高#xff…在共享项目中手动编码创建 UI如通过代码逐个初始化控件的优缺点可简单汇总如下 优点 代码可控性强直接操作控件属性和布局避免设计器生成的冗余代码便于理解和调试。灵活性高适合复杂交互逻辑或动态布局可在运行时灵活调整 UI 元素。跨平台适配性好若项目涉及跨平台如通过代码适配不同框架手动编码更易统一逻辑。 缺点 开发效率低需手动编写大量控件初始化代码比可视化设计器耗时更多。维护成本高UI 变更时需修改多处代码易因疏忽导致错误如控件位置、事件绑定。可视化预览困难无法通过设计器实时查看布局效果需运行程序才能验证。团队协作易冲突多人修改同一 UI 代码时易因布局逻辑重叠导致合并冲突。 项目结构如下 wpf类 using System.Windows.Controls; using System.Windows; using Button System.Windows.Controls.Button; using TextBox System.Windows.Controls.TextBox; using UserControl System.Windows.Controls.UserControl; using MessageBox System.Windows.MessageBox; using Window System.Windows.Window;namespace CadShared {// WPF窗口包装类 - 用于在AutoCAD中显示WPF用户控件public class UWpf : Window, IDisposable{private bool disposed false;public void Dispose(){Dispose(true);GC.SuppressFinalize(this);}protected virtual void Dispose(bool disposing){if (!disposed){if (disposing){userControl.OkClicked - UserControl_OkClicked;userControl.CancelClicked - UserControl_CancelClicked;userControl null;}disposed true;}}~UWpf() { Dispose(false); }private WpfUserControl userControl;public void Show(){// 直接创建和显示窗体不使用using语句var window new UWpf();bool? result window.ShowDialog();// 处理窗体返回结果if (result true){Document doc Acap.DocumentManager.MdiActiveDocument;Editor ed doc.Editor;ed.WriteMessage(\n输入1: window.Input1);ed.WriteMessage(\n输入2: window.Input2);}// 不需要手动调用Dispose因为Window不实现IDisposable}// 窗体属性用于获取用户输入public string Input1{get { return userControl.Input1; }set { userControl.Input1 value; }}public string Input2{get { return userControl.Input2; }set { userControl.Input2 value; }}public UWpf(){// 设置窗口基本属性this.Title Wpf数据输入;this.Width 300;this.Height 200;this.WindowStartupLocation WindowStartupLocation.CenterScreen;this.ResizeMode ResizeMode.NoResize;// 创建用户控件userControl new WpfUserControl();// 设置内容this.Content userControl;// 注册事件userControl.OkClicked UserControl_OkClicked;userControl.CancelClicked UserControl_CancelClicked;}// 处理确定按钮点击事件private void UserControl_OkClicked(object sender, EventArgs e){// 验证输入if (string.IsNullOrEmpty(Input1)){MessageBox.Show(请输入第一个值!, 提示, MessageBoxButton.OK, MessageBoxImage.Warning);return;}if (string.IsNullOrEmpty(Input2)){MessageBox.Show(请输入第二个值!, 提示, MessageBoxButton.OK, MessageBoxImage.Warning);return;}// 设置对话框结果为True并关闭窗口this.DialogResult true;this.Close();}// 处理取消按钮点击事件private void UserControl_CancelClicked(object sender, EventArgs e){// 设置对话框结果为False并关闭窗口this.DialogResult false;this.Close();}}// WPF用户控件 - 包含两个文本框和两个按钮public class WpfUserControl : UserControl{private TextBox txtInput1;private TextBox txtInput2;private Button btnOk;private Button btnCancel;// 事件声明public event EventHandler OkClicked;public event EventHandler CancelClicked;// 控件属性public string Input1{get { return txtInput1.Text; }set { txtInput1.Text value; }}public string Input2{get { return txtInput2.Text; }set { txtInput2.Text value; }}public WpfUserControl(){// 创建网格布局Grid grid new Grid();grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.ColumnDefinitions.Add(new ColumnDefinition { Width new GridLength(1, GridUnitType.Star) });grid.ColumnDefinitions.Add(new ColumnDefinition { Width new GridLength(1, GridUnitType.Star) });// 创建文本框1txtInput1 new TextBox();txtInput1.Margin new Thickness(10);Grid.SetRow(txtInput1, 0);Grid.SetColumnSpan(txtInput1, 2);// 创建文本框2txtInput2 new TextBox();txtInput2.Margin new Thickness(10);Grid.SetRow(txtInput2, 1);Grid.SetColumnSpan(txtInput2, 2);// 创建确定按钮btnOk new Button();btnOk.Content 确定;btnOk.Margin new Thickness(10);btnOk.Click BtnOk_Click;Grid.SetRow(btnOk, 2);Grid.SetColumn(btnOk, 0);// 创建取消按钮btnCancel new Button();btnCancel.Content 取消;btnCancel.Margin new Thickness(10);btnCancel.Click BtnCancel_Click;Grid.SetRow(btnCancel, 2);Grid.SetColumn(btnCancel, 1);// 添加控件到网格grid.Children.Add(txtInput1);grid.Children.Add(txtInput2);grid.Children.Add(btnOk);grid.Children.Add(btnCancel);// 设置用户控件内容this.Content grid;}// 确定按钮点击事件private void BtnOk_Click(object sender, RoutedEventArgs e){// 触发OkClicked事件OkClicked?.Invoke(this, EventArgs.Empty);}// 取消按钮点击事件private void BtnCancel_Click(object sender, RoutedEventArgs e){// 触发CancelClicked事件CancelClicked?.Invoke(this, EventArgs.Empty);}} }下面无dispose using System.Windows.Controls; using System.Windows; using Button System.Windows.Controls.Button; using TextBox System.Windows.Controls.TextBox; using UserControl System.Windows.Controls.UserControl; using MessageBox System.Windows.MessageBox; using Window System.Windows.Window;namespace CadShared {public class UWpfClass{}// WPF窗口包装类 - 用于在AutoCAD中显示WPF用户控件public class UWpf : Window{private WpfUserControl userControl;public void Show(){// 直接创建和显示窗体不使用using语句var window new UWpf();bool? result window.ShowDialog();// 处理窗体返回结果if (result true){Document doc Acap.DocumentManager.MdiActiveDocument;Editor ed doc.Editor;ed.WriteMessage(\n输入1: window.Input1);ed.WriteMessage(\n输入2: window.Input2);}// 不需要手动调用Dispose因为Window不实现IDisposable}// 窗体属性用于获取用户输入public string Input1{get { return userControl.Input1; }set { userControl.Input1 value; }}public string Input2{get { return userControl.Input2; }set { userControl.Input2 value; }}public UWpf(){// 设置窗口基本属性this.Title Wpf数据输入;this.Width 300;this.Height 200;this.WindowStartupLocation WindowStartupLocation.CenterScreen;this.ResizeMode ResizeMode.NoResize;// 创建用户控件userControl new WpfUserControl();// 设置内容this.Content userControl;// 注册事件userControl.OkClicked UserControl_OkClicked;userControl.CancelClicked UserControl_CancelClicked;}// 处理确定按钮点击事件private void UserControl_OkClicked(object sender, EventArgs e){// 验证输入if (string.IsNullOrEmpty(Input1)){MessageBox.Show(请输入第一个值!, 提示, MessageBoxButton.OK, MessageBoxImage.Warning);return;}if (string.IsNullOrEmpty(Input2)){MessageBox.Show(请输入第二个值!, 提示, MessageBoxButton.OK, MessageBoxImage.Warning);return;}// 设置对话框结果为True并关闭窗口this.DialogResult true;this.Close();}// 处理取消按钮点击事件private void UserControl_CancelClicked(object sender, EventArgs e){// 设置对话框结果为False并关闭窗口this.DialogResult false;this.Close();}}// WPF用户控件 - 包含两个文本框和两个按钮public class WpfUserControl : UserControl{private TextBox txtInput1;private TextBox txtInput2;private Button btnOk;private Button btnCancel;// 事件声明public event EventHandler OkClicked;public event EventHandler CancelClicked;// 控件属性public string Input1{get { return txtInput1.Text; }set { txtInput1.Text value; }}public string Input2{get { return txtInput2.Text; }set { txtInput2.Text value; }}public WpfUserControl(){// 创建网格布局Grid grid new Grid();grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.RowDefinitions.Add(new RowDefinition { Height GridLength.Auto });grid.ColumnDefinitions.Add(new ColumnDefinition { Width new GridLength(1, GridUnitType.Star) });grid.ColumnDefinitions.Add(new ColumnDefinition { Width new GridLength(1, GridUnitType.Star) });// 创建文本框1txtInput1 new TextBox();txtInput1.Margin new Thickness(10);Grid.SetRow(txtInput1, 0);Grid.SetColumnSpan(txtInput1, 2);// 创建文本框2txtInput2 new TextBox();txtInput2.Margin new Thickness(10);Grid.SetRow(txtInput2, 1);Grid.SetColumnSpan(txtInput2, 2);// 创建确定按钮btnOk new Button();btnOk.Content 确定;btnOk.Margin new Thickness(10);btnOk.Click BtnOk_Click;Grid.SetRow(btnOk, 2);Grid.SetColumn(btnOk, 0);// 创建取消按钮btnCancel new Button();btnCancel.Content 取消;btnCancel.Margin new Thickness(10);btnCancel.Click BtnCancel_Click;Grid.SetRow(btnCancel, 2);Grid.SetColumn(btnCancel, 1);// 添加控件到网格grid.Children.Add(txtInput1);grid.Children.Add(txtInput2);grid.Children.Add(btnOk);grid.Children.Add(btnCancel);// 设置用户控件内容this.Content grid;}// 确定按钮点击事件private void BtnOk_Click(object sender, RoutedEventArgs e){// 触发OkClicked事件OkClicked?.Invoke(this, EventArgs.Empty);}// 取消按钮点击事件private void BtnCancel_Click(object sender, RoutedEventArgs e){// 触发CancelClicked事件CancelClicked?.Invoke(this, EventArgs.Empty);}} }窗体winform using System.Drawing; namespace CadShared {public static class Class1{[CommandMethod(xx)]public static void ShowWPF(){// 直接创建和显示窗体不使用using语句var window new UWpf();bool? result window.ShowDialog();// 处理窗体返回结果if (result true){Document doc Acap.DocumentManager.MdiActiveDocument;Editor ed doc.Editor;ed.WriteMessage(\n输入1: window.Input1);ed.WriteMessage(\n输入2: window.Input2);}// 不需要手动调用Dispose因为Window不实现IDisposable}public static void UFormDemo(){// 创建并显示自定义窗体using (var form new UForm()){// 获取当前文档和数据库Document doc Acap.DocumentManager.MdiActiveDocument;// 在UI线程上显示窗体 #if net48Acap.DocumentManager.MdiActiveDocument.Window.Focus(); #endifDialogResult result form.ShowDialog();// 处理窗体返回结果if (result DialogResult.OK){// 输出用户输入到AutoCAD命令行doc.Editor.WriteMessage(\n输入1: form.Input1);doc.Editor.WriteMessage(\n输入2: form.Input2);}}}public static void 弹窗Demo(){// This is a placeholder command that does nothing.// You can replace this with your actual command logic.MessageBox.Show(Hello from CadShared!);}}// 自定义窗体类 - 手动创建所有UI元素public class UForm : Form, IDisposable{private TextBox txtInput1;private TextBox txtInput2;private Button btnOk;private Button btnCancel;// 窗体属性用于获取用户输入public string Input1{get { return txtInput1.Text; }set { txtInput1.Text value; }}public string Input2{get { return txtInput2.Text; }set { txtInput2.Text value; }}// 窗体构造函数public UForm(){// 设置窗体基本属性this.Text 数据输入;this.Size new Size(300, 200);this.StartPosition FormStartPosition.CenterScreen;// 初始化控件InitializeComponents();}// 手动初始化所有控件private void InitializeComponents(){// 创建文本框1txtInput1 new TextBox();txtInput1.Location new Point(20, 30);txtInput1.Size new Size(240, 20);// 创建文本框2txtInput2 new TextBox();txtInput2.Location new Point(20, 70);txtInput2.Size new Size(240, 20);// 创建确定按钮btnOk new Button();btnOk.Text 确定;btnOk.Location new Point(50, 120);btnOk.Size new Size(80, 30);btnOk.Click BtnOk_Click;// 创建取消按钮btnCancel new Button();btnCancel.Text 取消;btnCancel.Location new Point(160, 120);btnCancel.Size new Size(80, 30);btnCancel.Click BtnCancel_Click;// 将控件添加到窗体this.Controls.Add(txtInput1);this.Controls.Add(txtInput2);this.Controls.Add(btnOk);this.Controls.Add(btnCancel);}// 确定按钮点击事件处理private void BtnOk_Click(object sender, EventArgs e){// 验证输入if (string.IsNullOrEmpty(txtInput1.Text)){MessageBox.Show(请输入第一个值!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (string.IsNullOrEmpty(txtInput2.Text)){MessageBox.Show(请输入第二个值!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}// 设置对话框结果为OK并关闭窗体this.DialogResult DialogResult.OK;this.Close();}// 取消按钮点击事件处理private void BtnCancel_Click(object sender, EventArgs e){// 设置对话框结果为Cancel并关闭窗体this.DialogResult DialogResult.Cancel;this.Close();}// 资源释放相关成员private bool _disposed false;// 实现IDisposable.Dispose方法public void Dispose(){Dispose(true);GC.SuppressFinalize(this);}// 受保护的Dispose方法支持显式和隐式释放protected virtual void Dispose(bool disposing){if (!_disposed){if (disposing){// 释放托管资源// 例如释放自定义的托管对象}// 释放非托管资源// 例如关闭文件句柄、释放API句柄等_disposed true;}}// 析构函数作为资源释放的后备机制~UForm(){Dispose(false);}} }下面无 dispose: using System.Drawing; namespace CadShared {public static class Class1{[CommandMethod(xx)]public static void ShowWPF(){// 直接创建和显示窗体不使用using语句var window new UWpf();bool? result window.ShowDialog();// 处理窗体返回结果if (result true){Document doc Acap.DocumentManager.MdiActiveDocument;Editor ed doc.Editor;ed.WriteMessage(\n输入1: window.Input1);ed.WriteMessage(\n输入2: window.Input2);}// 不需要手动调用Dispose因为Window不实现IDisposable}public static void UFormDemo(){// 创建并显示自定义窗体using (var form new UForm()){// 获取当前文档和数据库Document doc Acap.DocumentManager.MdiActiveDocument;// 在UI线程上显示窗体 #if net48Acap.DocumentManager.MdiActiveDocument.Window.Focus(); #endifDialogResult result form.ShowDialog();// 处理窗体返回结果if (result DialogResult.OK){// 输出用户输入到AutoCAD命令行doc.Editor.WriteMessage(\n输入1: form.Input1);doc.Editor.WriteMessage(\n输入2: form.Input2);}}}public static void 弹窗Demo(){// This is a placeholder command that does nothing.// You can replace this with your actual command logic.MessageBox.Show(Hello from CadShared!);}}// 自定义窗体类 - 手动创建所有UI元素public class UForm : Form{private TextBox txtInput1;private TextBox txtInput2;private Button btnOk;private Button btnCancel;// 窗体属性用于获取用户输入public string Input1{get { return txtInput1.Text; }set { txtInput1.Text value; }}public string Input2{get { return txtInput2.Text; }set { txtInput2.Text value; }}// 窗体构造函数public UForm(){// 设置窗体基本属性this.Text 数据输入;this.Size new Size(300, 200);this.StartPosition FormStartPosition.CenterScreen;// 初始化控件InitializeComponents();}// 手动初始化所有控件private void InitializeComponents(){// 创建文本框1txtInput1 new TextBox();txtInput1.Location new Point(20, 30);txtInput1.Size new Size(240, 20);// 创建文本框2txtInput2 new TextBox();txtInput2.Location new Point(20, 70);txtInput2.Size new Size(240, 20);// 创建确定按钮btnOk new Button();btnOk.Text 确定;btnOk.Location new Point(50, 120);btnOk.Size new Size(80, 30);btnOk.Click BtnOk_Click;// 创建取消按钮btnCancel new Button();btnCancel.Text 取消;btnCancel.Location new Point(160, 120);btnCancel.Size new Size(80, 30);btnCancel.Click BtnCancel_Click;// 将控件添加到窗体this.Controls.Add(txtInput1);this.Controls.Add(txtInput2);this.Controls.Add(btnOk);this.Controls.Add(btnCancel);}// 确定按钮点击事件处理private void BtnOk_Click(object sender, EventArgs e){// 验证输入if (string.IsNullOrEmpty(txtInput1.Text)){MessageBox.Show(请输入第一个值!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (string.IsNullOrEmpty(txtInput2.Text)){MessageBox.Show(请输入第二个值!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}// 设置对话框结果为OK并关闭窗体this.DialogResult DialogResult.OK;this.Close();}// 取消按钮点击事件处理private void BtnCancel_Click(object sender, EventArgs e){// 设置对话框结果为Cancel并关闭窗体this.DialogResult DialogResult.Cancel;this.Close();}} }
http://www.hkea.cn/news/14330669/

相关文章:

  • 阿里巴巴国际站wordpress加载很慢
  • 祥云县外卖哪个网站重庆网站建设有名 乐云践新
  • 服务器架设国外做违法网站免费建站系统软件
  • 建设专门网站 强化信息宣传深圳网站建设与设计制作
  • 网站开发与运营方向想建个企业网站
  • 苏州集团网站设计企业公司网站购物平台建设
  • 仿中国加盟网站源码在线设计房屋效果图
  • 做华为网站的还有哪些功能吗企业网站建设的策略
  • 嘉兴专业做网站宁德做网站的公司
  • 邮箱注册过的网站查询wordpress 小工具添加图片
  • 个人网站营业执照蒙阴网站建设
  • 网站建设参考装饰画图片大全
  • 做培训网站前端陕西建设厅官方网站
  • 做五金国际网站哪个好网站开发 项目介绍
  • 网站自适应手机转码丽水网站开发公司电话
  • jsp个人网站设计北京网站建设哪家专业
  • 上海市建设厅网站南昌seo代理商
  • 大连网站制作优选ls15227做代刷主站网站
  • swoole做网站深圳做装修网站费用多少钱
  • 网站建设推广服务合同范本合肥百度搜索排名优化
  • 网上申报系统新乡百度网站优化排名
  • 福建省住房与城乡建设厅网站宁波网络推广平台设计
  • 网站的统计代码是什么意思定制设计网
  • 航运网站建设计划书手机端模板网站
  • 做网站是如何赚钱的网站服务器租一个月
  • 临沂网站建设做网站芜湖商城网站建设
  • 淄博做网站做网站需要掌握的软件
  • 商用自适应网站建设wordpress开启用户激活验证
  • 重庆荣昌网站建设报价新闻cms静态网站模板
  • 网站seo网络优化公司经典广告语