C#新手之控件数据绑定

C# WPF 快速开发04数据绑定、列表控件 //Slider进度条与TextBox间的数据绑定。 SliderName="m_slider">Slider> TextBox Text="{Binding Value,ElementName=m_slider}"Name="m_text_main">TextBox> //Value是m_slider的一个属性值 //数据绑定的类。C#类的添加:右键点击解决方案--添加--类; 1.创 阅读详情
我是个C#新手,最近有个程序要把TextBox的Text属性与一个int属性绑定,发现一个奇怪的事,在一个属性中更改另一个属性,TextBox控件显示的值就可以自动更新,但用点击按钮的方法就无效。代码:

用于演示的类Class1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication3
{
    class Class1
    {
        private int _a = 1;

        public int A
        {
            get { return _a; }
            set 
            {

                if (_a != value)
                {
                    _b = value + 1;
                    _a = value; 
                }
            }
        }

        private int _b = 2;

        public int B
        {
            get { return _b; }
            set { _b = value; }
        }
    }
}

当A的值改变时,B变为A+1。

界面:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        private Class1 _class1 = new Class1();
        private TextBox tbA;
        private TextBox tbB;
        private Button button1;

        public Form1()
        {
            tbA = new TextBox();  //与A绑定
            tbB = new TextBox();  //与B绑定
            button1 = new Button();
            
            tbA.Location = new Point(105, 39);
            tbA.Name = "tbA";
            tbA.Size = new Size(121, 21);
            
            tbB.Location = new Point(106, 118);
            tbB.Name = "tbB";
            tbB.Size = new Size(119, 21);
            
            button1.Location = new Point(148, 67);
            button1.Name = "button1";
            button1.Size = new Size(23, 45);
            button1.TabIndex = 2;
            button1.Text = "B加1";
            button1.Click += new System.EventHandler(button1_Click);

            this.Controls.Add(this.button1);
            this.Controls.Add(this.tbB);
            this.Controls.Add(this.tbA);

            tbA.DataBindings.Add("Text", _class1, "A");
            tbB.DataBindings.Add("Text", _class1, "B");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            _class1.B += 1;
        }
    }
}

在tbA中改变数值后按tab,tbB中的数值会自动更新。但点button1后B的值实际上是改变的,但控件中不会更新,除非用INotifyPropertyChanged。

public int B
        {
            get { return _b; }
            set
            {
                _b = value;
                NotifyPropertyChanged("B");
            }
        }


        #region INotifyPropertyChanged 成员

        public event PropertyChangedEventHandler PropertyChanged;
        public void NotifyPropertyChanged(string ProName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(ProName));
            }
        }
        #endregion

具体原因就是因为DataBindings方法绑定是有联动效果的,你要手动赋值就不行
tbA.Text=_class1.A;
C#控件数据绑定技术 通过数据绑定,我们可以将数据源的值动态地显示在对应的控件上,同时也可以将用户输入的值实时地同步到数据源中。假设我们要实现一个简单的学生信息管理系统,其中包含一个TextBox控件用于显示学生姓名,一个NumericUpDown控件用于选择学生年龄,以及一个Button控件用于保存学生信息。本文介绍了C#中的控件数据绑定技术,并通过一个简单的示例演示了数据绑定的实现步骤。但是,通过上述的例子,读者应该已经对C#中的控件数据绑定有了初步的了解,并可以在实际项目中应用该技术。C#控件数据绑定技术。 阅读详情

相关推荐

用C#实现XML数据绑定到TreeView控件

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。它为不同平台之间的信息交换提供了灵活性。XML文档由一系列定义良好且易于理解的元素组成,这些元素以层级结构组织,便于用户按照逻辑关系处理数据。TreeView控件是一种常用的界面元素,用于以树状形式展示信息,类似于文件系统的目录结构。用户可以通过展开或折叠树节点来浏览层级化数据。在不同的平台上,TreeView控件的表现形式和功能可能会有所不同,但它通常被用来展示具有父子关系的数据结构。

weixin_42515392的博客 805

C#控件绑定数据

C#

m0_60150025的博客 1774

Github多人协作

最近有门课程需要几个人一起开发一个项目,此前我们基本都是单干的,多人合作意味着需要及时将我们每个人的代码进行合并,U盘传文件这种方式太慢了,效率不行,而且没法解决两个人同时修改一个文件的问题,这次我们就尝试使用Github来协助开发。下面就来记录一下这次开发遇到的一些问题和解决的方法。 Git的安装 从官网下载最新版按照默认安装即可。 此处不多加说明。 Git常用命令 在此放上一...

yzr1216的博客 1万+

C#灵活定义变量和绑定变量

private int _value1; public int Value1 { get { return _value1} set { _value1 = value;} }

stybill的博客 4万+

别再乱设阻尼了!Abaqus动力分析中瑞利阻尼的α和β到底怎么算?

本文深入解析Abaqus动力分析中瑞利阻尼参数α和β的科学计算方法,帮助工程师准确设置阻尼参数以提升仿真精度。详细介绍了基于模态阻尼比的经典计算方法和多模态优化法,并结合工程案例演示参数设置流程,避免常见的阻尼设置误区。

weixin_42634811的博客 732

云卓遥控器+DIY高清摄像机的方案(完美接入原系统)

发云卓H16 1080P数图控三合一10公里 其中它月

fgh00000的博客 1万+

C#:Winform控件绑定数据

在C#中提起控件绑定数据,大部分人首先想到的是WPF,其实Winform也支持控件和数据的绑定。

m0_57781768的博客 3778

第四节、C# 上位机面向对象编程详解(工控硬件继承实战版)

继承核心价值:在 C# 上位机工控开发中,继承的核心是通用逻辑复用与接口统一,将所有硬件的通用属性 / 方法封装到抽象基类,子类只需实现独有逻辑,大幅减少冗余代码。基类设计要点:优先使用抽象基类,合理分配访问修饰符(privateprotectedpublic),定义通用事件与虚方法,提供资源释放机制,兼顾复用性与扩展性。子类设计要点:通过: base()调用基类构造函数,强制实现抽象方法(保证接口统一),选择性重写虚方法(实现独有逻辑),复用基类的protected成员。多设备管理。

kylezhao2019的博客 787

WinForm控件与自定义属性绑定

WinForm控件与自定义属性绑定的方法

cfz751740465的博客 1138

STM8库函数开发手册(3) //UART1、内部EEPROM、FLASH操作库、IIC(硬、软)

STM8S 微控制器家族的通用同步异步收发器(UART1,UART2 或者UART3)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。STM8 的UART 提供范围的波特率选择,并且支持多处理器通讯。UART 也支持LIN(局部互联网)协议版本1.3,2.0,和2.1 以及在主模式下的J2602。 UART1 和UAR...

finedayforu的博客 2522

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

本文主要介绍了安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

c#实现数据库数据绑定到数据模型的六种方法(一)硬核编码,反射泛型,json序列化,AutoMapper,x表达式目录树

第一部分: 第一个基础方法,直接手写将后台每一张表数据,依次绑定到每一个对象上去,这个过程相当机械性能优,代码重复率高 第二个方法:反射泛型方法,一个方法搞定,基本够用,不过属性不一致,名称不一致,实际需求无法很好满足, 第三个方法:json,性能也不够好,毕竟序号化这个用途不是用来类型转换的, 第四个方法:杀鸡焉用牛刀,功能很强悍,但是是封装好的,bin using System; using System.Collections.Generic; using System.Linq; usi

xu2034029667的博客 1360

ADRC自抗扰PD+ESO控制(博途SCL源代码)

文章浏览阅读119次。线性自抗扰控制(LADRC)系统算法框图-优快云博客文章浏览阅读335次。NLADRC自抗扰控制从Simulink仿真到PLC控制实现_自抗扰控制器 simulink仿真-优快云博客本文介绍了如何将ADRC自抗扰控制算法从Simulink仿真应用到PLC控制中,包括Simulink框图、TD微分器模型、MATLAB函数的使用、SCL控制代码,以及非线性状态误差反馈控制率的实现。ADRC自抗扰PD+ESO控制(CODESYS测试+完整ST代码)-优快云博客。

RXXW_Dor的博客 1317

ListView控件的数据绑定与读取

ListView控件可以直接查看数据信息,使操作更加容易。这篇文章将告诉你C#中的ListView数据绑定控件的一些用法,希望对要用到ListView控件的新手朋友有所帮助。 在Listview中添加表头   在控制编辑列中添加表头    //表头的样式 listView1.GridLines = true; listView1.FullRowSel...

weixin_34415923的博客 249

【毕设救星】从0到1打造YOLOv8货架商品检测与可视化系统,让你的毕设脱颖而出

本文介绍了一个基于YOLOv8的货架商品检测系统毕设项目。系统采用YOLOv8模型进行商品检测,包含环境搭建、数据集准备、模型训练与验证等完整流程,并开发了可视化UI界面。项目聚焦智能零售应用场景,技术栈完整且易于实现,适合作为计算机视觉方向的毕业设计。文章详细指导了从数据标注、模型训练到界面开发的全过程,提供代码示例和实用建议,帮助学生快速完成毕设并提升答辩表现。

LXY_LOVE36的博客 104

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

c#通过winform实现地磅称重管理客户端

winform实现地磅称重管理客户端 异步线程 .NET、C#、ASP.NET三者的联系与区别 车牌识别摄像头 地磅连接

牧羊老人 3056

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

AlohaKit.Controls 项目常见问题解决方案

AlohaKit.Controls 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 AlohaKit.Controls 是一个开源项目,旨在为 .NET MAUI 提供一系列自定义的绘制控件。这些控件提供了一种不同于传统 Xamarin.Forms 控件的新方法,支持开发者以更灵活的方式创建具有个性化设计的用户界面。项目主要使用 C# 编程语言开发。 2. 新手使用项目时需注意的三个问题及...

gitblog_00380的博客 952

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# 开发总结

刚换了工作,来到新公司后,第二天就开始让做一个C#开发的编辑器。这个痛苦啊,对公司的代码和框架都没什么机会看呢,而且C#也是从没用过的,所以这几天一直疲于探索C#和设计并实现修改自己的编辑器,今天终于上传了代码,是策划那边要用,草草的收了工,这里总结下C#使用经验,以备下个不时之需啊。 首先C#的几个特性:类型:值类型、引用类型。 凡是如 int bool float 等这些基本数据类型的变量...

wangminshe89 226

TemplateUI 项目常见问题解决方案

TemplateUI 项目常见问题解决方案 一、项目基础介绍 TemplateUI 是一个开源项目,它提供了一系列 Xamarin.Forms 的模板化控件。这些控件可以用来创建具有自定义外观和行为的用户界面元素。该项目的主要编程语言是 C#,它是 Xamarin.Forms 开发的重要组成部分。 二、新手使用时需注意的问题及解决步骤 问题1:如何将 TemplateUI 集成到项目中? 解决步骤...

gitblog_00295的博客 865

WPF-AutoComplete-TextBox 项目常见问题解决方案

WPF-AutoComplete-TextBox 项目常见问题解决方案 项目基础介绍 WPF-AutoComplete-TextBox 是一个为 WPF(Windows Presentation Foundation)应用程序提供的自动完成文本框控件。该项目的主要目的是简化在 WPF 应用程序中实现自动完成功能的过程。该项目的主要编程语言是 C#。 新手使用注意事项及解决方案 1. 安装问题 问题...

gitblog_07361的博客 490

SwipeCardView 项目常见问题解决方案

SwipeCardView 项目常见问题解决方案 项目基础介绍 SwipeCardView 是一个轻量级的 MVVM 友好 UI 控件,专为 Xamarin.Forms 应用程序设计,旨在实现类似 Tinder 的滑动卡片界面。该项目支持在所有方向上滑动,并提供持续的拖动反馈,从而实现出色的交互性。SwipeCardView 是一个基于 netstandard2.0 的库,适用于希望在 C# 中构...

gitblog_00466的博客 470

10.4 C#数据源控件和数据绑定控件

BindingSource控件是.NET Framework 2.0提供的新控件之一,用于简化数据绑定的过程。它与数据源建立连接,然后将窗体中的控件与BindingSource控件建立绑定关系来实现数据绑定。BindingSource控件既是一个连接后台数据库的渠道,又是一个数据源,因为它支持向后台数据库发送命令来检索数据,同时也支持直接通过BindingSource控件对数据进行访问、排序、筛选和更新操作。

Argonaut_的博客 1423

C#入门之数据库绑定

用控件dataGridView显示数据库数据 作为一个新手入门C#,吸收了一点知识,也输出一点见解吧,还请各位大神多多指教. 用到的工具是VS2005和sqlserver2012. 第一步,打开VS2005,新建项目,选择C#语言,选择Windows应用程序,更改名称为TreeViewTest.如下图所示: 创建项目成功后,打开工具箱,找到DataGridView,拖拽到Form1. 右击Fo...

weixin_44906559的博客 1004

【C# WPF】TextBox的数据绑定

本文介绍了三种Windows桌面应用开发框架(MFC、WinForm、WPF)中控件数据绑定的实现方法。MFC通过类向导为编辑框关联控制类型(CEdit)或值类型(CString等)变量;WinForm直接通过控件Name属性访问;WPF支持Name访问和MVVM数据绑定模式,详细演示了通过DataContext绑定ViewModel属性到TextBox的实现过程,包含INotifyPropertyChanged接口实现、属性变更通知机制和跨线程更新UI处理。文章还提供了窗体级数据源设置和编辑框绑定的操作截

闻缺陷则喜何志丹 3488

C#数据绑定控件中的DataSource属性

<br />常用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简单说明问题。 <br /><br />使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象, <br /><br />如用于访问数据库的System.Data.DataView、System.Collections.ArrayList、System.Collection

田园 9482

C#实现的多列数据绑定组合框控件MultiColumnComboBoxEx

(原创文章,转载请注明来源:http://blog.youkuaiyun.com/hulihui)0、前言组合框ComboBox是一个十分常用的多功能窗体控件,兼具文本框(TextBox)与列表框(ListBox)两控件的特点,并独具特性AutoCompleteMode。但笔者在实际项目开发中往往感到如下方面的不足:不能分别设置框高与项高,在调整项高ItemHeigth时也调整了组

HuLihui's Blog 1万+
上一篇: FLTK 1.3中使用中文
下一篇: 获取不支持重定向的Console程序的输出【原创】
thy38
博客等级 码龄19年 184粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值