WinForm 绑定单选按钮

2024-01-07

我使用VS2010,然后将Member datagridview拖放到设计视图中。 之后,我将名称成员文本字段拖放到设计视图中,然后尝试编辑和保存。可以正常工作了

然后我将性单选按钮拖放到设计视图中。但绑定它不起作用。

在这种情况下我该如何绑定?

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 Test7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void memberBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.memberBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dbDataSet);

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'dbDataSet.Member' table. You can move, or remove it, as needed.
            this.memberTableAdapter.Fill(this.dbDataSet.Member);
            // TODO: This line of code loads data into the 'dbDataSet.Member' table. You can move, or remove it, as needed.
            this.memberTableAdapter.Fill(this.dbDataSet.Member);

        }


        private void memberBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
        {
            this.Validate();
            this.memberBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dbDataSet);

        }
    }
}

这里有两种可能的解决方案。


绑定格式和解析事件

The Binding类有一个内置工具,用于以以下形式即时转换绑定数据Format http://msdn.microsoft.com/en-us/library/system.windows.forms.binding.format.aspx and Parse http://msdn.microsoft.com/en-us/library/system.windows.forms.binding.parse.aspx events.

以下是您如何仅通过“男性”单选按钮来使用这些事件。在代码中而不是在设计器中创建绑定:

// create binding between "Sex" property and RadioButton.Checked property
var maleBinding = new Binding("Checked", bindingSource1, "Sex");
// when Formatting (reading from datasource), return true for M, else false
maleBinding.Format += (s, args) => args.Value = ((string)args.Value) == "M";
// when Parsing (writing to datasource), return "M" for true, else "F"
maleBinding.Parse += (s, args) => args.Value = (bool)args.Value ? "M" : "F";
// add the binding
maleRb.DataBindings.Add(maleBinding);

// you don't need to bind the Female radiobutton, just make it do the opposite
// of Male by handling the CheckedChanged event on Male:
maleRb.CheckedChanged += (s, args) => femaleRb.Checked = !maleRb.Checked;

计算属性

另一种方法是将计算属性添加到数据源:

public bool IsMale
{ 
    get { return Sex == "M"; }
    set 
    {  
        if (value)
            Sex = "M";
        else
            Sex = "F";
    }
}

现在,您可以简单地将 Male 单选按钮绑定到数据源上的此属性(只是不在网格中显示此属性)。

您可以再次将女性连接到男性,如下所示:

maleRb.CheckedChanged += (s, args) => femaleRb.Checked = !maleRb.Checked;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinForm 绑定单选按钮 的相关文章

  • 使用名称变量访问多个表单控件

    我正在尝试迭代一组 ComboBox 并使用连接的字符串和变量来设置属性来表示控件的名称 但是 我无法让表单实例将 String Integer Variable 识别为其控件之一 因此它无法将任何适当的属性或子例程识别为 System W
  • 在 LINQ 查询中进行转换

    是否可以在 LINQ 查询中进行强制转换 为了编译器的缘故 下面的代码并不糟糕 但最好将其放入一个查询中 Content content dataStore RootControl as Controls Content List
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • SOAP Web 服务:多台服务器,一个接口

    我有一个场景 需要任意数量的服务器来提供相同的 SOAP Web 服务 我想生成一组代理类 并能够为它们提供一个位置 以便在运行时将它们指向不同的服务器 不幸的是 看起来好像wsdl port节点 子节点wsdl service 要求对特定
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 每个元素的 asp.net Web 表单自定义错误消息

    我创建了一个 Web 应用程序 表单 以及后端 SQL 插入和查询 目前我正在显示所有用户错误消息 div style padding 1em div
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • Windows Phone 的 JSON 反序列化

    我正在尝试反序列化以下 JSON 但我真的不知道如何使用 JSON net 来完成这项工作 我正在使用 C 和 JSON Net 库 我的 JSON 如下 found 3 bounds 43 54919 172 62148 43 54487
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • 尝试后终于没有被调用

    由于某种原因 在我的控制台应用程序中 我无法运行我的finally 块 我编写这段代码是为了测试finally块是如何工作的 所以它非常简单 static void Main int i 0 try int j 1 i Generate a
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗

随机推荐

  • 正确关闭 ActiveMQ 和 Spring DefaultMessageListenerContainer

    当 Tomcat 管理器发出 停止 命令时 我们的系统不会关闭 我已确定与ActiveMQ Spring有关 我什至已经弄清楚如何让它关闭 但是我的解决方案是一个黑客 至少我希望这不是 正确 的方法 我想知道关闭 ActiveMQ 的正确方
  • 如何正确更改MaterialAlertDialog文本颜色?

    我尝试仅使用 Material Components 中的小部件 但在许多情况下 没有记录如何实现样式 让我们考虑一下MaterialAlertDialog 每次我想显示一个对话框时 我都会调用这部分代码 MaterialAlertDial
  • Scanf/Printf 双变量 C

    假设我有以下 C 代码 double var scanf lf var printf lf var printf f var 它从标准输入变量 var 读取 然后在标准输出 var 中打印两次 我知道这就是您从标准输入读取双变量的方式 但我
  • Tensorflow表查找int->float

    给定一个包含整数 代表类 的未知维度 的 2D 张量 我想获得一个相同形状的新张量 但用从查找表中获取的浮点数替换值 代表类权重 例如 inputs 1 3 3 2 4 2 lookup table 1 0 2 2 0 25 3 0 1 4
  • OS X 安装 Sphinx:找不到“sphinx-build”和“sphinx-quickstart”

    关于这个主题 有几个 未答复 的帖子 涉及找不到 sphinx build 在 Mac 操作系统中找不到 sphinx build h 命令 https stackoverflow com questions 24582037 locati
  • 包含流中包含 JSF 标签/组件的动态内容

    我正在开发一个应用程序 我想在其中包含来自流的动态 XHTML 内容 为了处理这个问题 我编写了一个标记处理程序扩展 它将动态 XHTML 内容转储到输出组件 如下所示 UIOutput htmlChild UIOutput ctx get
  • 优化图片的javascript预加载

    我想知道是否有人有任何通过 javascript 优化图像预加载的策略 我正在将 Flash 应用程序移植到 html css 中 尝试重新创建尽可能接近原始站点的 UI 它本质上是一个照片浏览器应用程序 当用户将鼠标悬停在链接上时会显示高
  • 按“后退”按钮时,未使用 setResult() 在 onPause() 中设置结果

    我有 2 项活动 AAA 和 BBB 我使用 AAA 从 AAA 呼叫 BBBstartActivityForResult 意图 int 完成 BBB 后 我按 后退 按钮返回 AAA 在 BBB 中 我重写 onPause 并使用以下方法
  • 在 Threejs 平面上渲染 TMX 地图

    使用新代码更新了问题 我正在尝试编写一个 WebGL 着色器来绘制TMX层 https github com bjorn tiled wiki TMX Map Format 从 Tiled 编辑器导出 我正在使用 THREE js 创建一个
  • Keycloak - 权限和策略仅在使用“评估”选项卡时有效

    我们的团队正在寻求使用Policies Permissions在 Keycloak 中 在用户登录时向用户授予范围 但前提是他们具有特定角色 我已经完成了几个教程 并成功地使用它进行了设置和测试Evaluate选项卡 在Authorizat
  • 部署项目未更新 .exe

    我有一个 Winforms 项目 其中一个 exe 文件作为主要输出 我正在使用部署项目来分发它 但是安装新版本时 exe 文件没有更新 这意味着我必须要求用户手动卸载然后安装新版本 这就是我正在做的 我在输出项目上增加程序集版本 这是部署
  • 如何动态构建mongodb查询

    我在 mongodb 聚合中有一个匹配表达式 匹配中包含 3 个字段 但它们并不总是包含数据 我只想在字段不为空时将字段包含在匹配中 如果所有字段都有数据 则匹配的样子 但例如 如果用于studentGradeLevels为空 那么我不想包
  • 加快极其缓慢的 MinGW-w64 编译/链接速度?

    如何加快 MinGW w64 的速度极其C 编译 链接速度慢 编译一个简单的 Hello World 程序 include
  • Kafka:动态更新 jaas 配置

    我已经使用 kafka 设置了 jaas 配置sasl jaas config财产 我想更新此配置并动态添加用户 根据这个文档 http kafka apache org 11 documentation html dynamicbroke
  • C#.NET 使用块

    我想在我的 DAL 层中使用 using 块 喜欢 using SqlConnection con new SqlConnection connection string Command object Reader object 由于 Sq
  • 使用 html5 拖放时滚动[重复]

    这个问题在这里已经有答案了 我刚刚发现 当使用 HTML5 拖放时 尝试使用鼠标滚轮或鼠标垫滚动页面将不起作用 并且不会调用 onmousewheel 事件的侦听器 作为示例 请参见此处 http jsfiddle net 92u6K 2
  • 使用 ASP.net core C# 在 MVC 应用程序中会话过期或空闲时间后重定向到登录页面

    我正在使用 ASP NET Core 我想在会话过期或用户空闲 10 分钟时重定向到登录页面 我怎样才能实现这个目标 目前 正在发生注销 当用户单击任何链接或提交按钮时 应用程序会重定向到登录页面 当用户单击按钮或链接时会发生这种情况 我想
  • 添加视图到 Django 管理

    有没有办法将自定义视图添加到 Django 管理应用程序 具体来说 我希望能够将 内容 div 切换为自定义静态内容 同时保留 页眉 和 页脚 div 这与重定向到静态 HTML 页面不同 后者不会保留页眉和页脚 您只需照常配置视图 url
  • 使用 CMake 触发 NVCC 中的 C++11 支持

    我正在运行带有 CUDA 7 5 的 Ubuntu 15 10 CMmake 是 v3 2 2 NVCC 是版本 7 5 v7 5 17 GCC是Ubuntu 5 2 1 22ubuntu2 v5 2 1 在常规项目中触发 C 11 很容易
  • WinForm 绑定单选按钮

    我使用VS2010 然后将Member datagridview拖放到设计视图中 之后 我将名称成员文本字段拖放到设计视图中 然后尝试编辑和保存 可以正常工作了 然后我将性单选按钮拖放到设计视图中 但绑定它不起作用 在这种情况下我该如何绑定