即使把主窗体控件modifiers属性改为protected C#中子窗体依然无法调用主窗体控件 要怎么解决啊?急求答案 以下是代码。

问题描述

stringselectsql="select*from用户权限wheresysuser='"+username+"'andpassword='"+password+"'";SqlCommandcmd=newSqlCommand(selectsql,LinkDataBase.Connection);cmd.CommandType=CommandType.Text;SqlDataReadersdr;sdr=cmd.ExecuteReader();if(sdr.Read()){sdr.Close();FrmMainfrmMain=newFrmMain();FrmMain.isRunMain=true;frmMain.Show();if(Convert.ToBoolean(dt.Rows[0]["save_1"]))frmMain.button2.Enabled=true;if(Convert.ToBoolean(dt.Rows[0]["calculate_1"]))frmMain.button3.Enabled=true;if(Convert.ToBoolean(dt.Rows[0]["input_1"]))frmMain.button4.Enabled=true;//以上3行button用不了啊!!好烦!!this.Close();}else{if(MessageBox.Show("输入用户密码有误,是否重新登录","输入有误",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK){this.textBox1.Clear();this.textBox2.Clear();}

解决方案

解决方案二:
FrmMain构造函数里传3个参数进去,在FrmMain里去改控件。或者FrmMain()写一个改控件的方法,传3个参数进去
解决方案三:
改成public
解决方案四:
//FrmMain窗体重载一个带三个参数的构造函数publicFrmMain(boolenabled2,boolenabled3,boolenabled4){this.button2.Enabled=c;this.button3.Enabled=enabled3;this.button4.Enabled=enabled4;}//调用boolenabled2=Convert.ToBoolean(dt.Rows[0]["save_1"]);boolenabled3=Convert.ToBoolean(dt.Rows[0]["calculate_1"]);boolenabled4=Convert.ToBoolean(dt.Rows[0]["input_1"]);FrmMainfrmMain=newFrmMain(enabled2,enabled3,enabled4);FrmMain.isRunMain=true;frmMain.Show();

解决方案五:
构造函数里面更正下:this.button2.Enabled=enabled2;
解决方案六:
引用3楼BitCoffee的回复:

//FrmMain窗体重载一个带三个参数的构造函数publicFrmMain(boolenabled2,boolenabled3,boolenabled4){this.button2.Enabled=c;this.button3.Enabled=enabled3;this.button4.Enabled=enabled4;}//调用boolenabled2=Convert.ToBoolean(dt.Rows[0]["save_1"]);boolenabled3=Convert.ToBoolean(dt.Rows[0]["calculate_1"]);boolenabled4=Convert.ToBoolean(dt.Rows[0]["input_1"]);FrmMainfrmMain=newFrmMain(enabled2,enabled3,enabled4);FrmMain.isRunMain=true;frmMain.Show();

太棒了,多谢前辈!我上完课去试试!
解决方案七:
另外主窗体控件modifiers属性改为protected,这个只能继承主窗体控件的子类能访问这个控件,与你子窗体访问主窗体控件无关。

时间: 2024-09-20 05:50:47

即使把主窗体控件modifiers属性改为protected C#中子窗体依然无法调用主窗体控件 要怎么解决啊?急求答案 以下是代码。的相关文章

页面回发到自身:新页面里控件的属性会被替换成回发回来的页面里对应控件的属性吗

问题描述 页面回发到自身,意味着要生成一个新页面,这个新页面里控件的属性会被替换成回发回来的页面里对应控件的属性吗? 解决方案 解决方案二:当然.不但会重填所有属性,而且会随后触发各种事件,例如xxxSelectedIndexChanged.xxxTextChanged等等都是因为可以从ViewState中自动重填页面上一次的值,才可能触发的.

在WPF工程中如何调用Windows窗体控件项目中控件属性、方法以及事件????

问题描述 运行环境:VS2008使用的工程:WPF应用程序以及Windows窗体控件库使用过程:新建一个Windows窗体控件库项目,这里名字叫MyControl新建一个Form窗体用来承载用户控件,这个Form窗体叫UerControl1,对应的文件名字为:UerControl1.vb在项目中添加对用户控件的必要的引用在项目中添加一个我下载的用户控件,这里名字叫A新建一个WPF工程,这里名字叫WPFProjWindow1.xaml文件的代码如下:<Windowx:Class="Windo

C# Winform 子窗体访问父级窗体的控件和属性_C#教程

今天在做一个联系人管理的C#设计时,遇到了这个问题,我需要将父窗体中的textBox中的值传到子窗体并进行数据库查询操作,我用了new 父窗体().textBox.text;来进行值传递,然而并无卵用,经过多次试验,找到了一个比较简单的解决方法: 一.子窗体调用父窗体的静态变量 父窗体:Logout 子窗体:Affirm 父窗体文本框:tB_Logout_Username public partial class Logout : Form { //定义一个静态变量存放父窗体中的文本框的值 pu

为asp.net中的Web用户控件添加属性和事件

asp.net|web|控件      在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的实现了对数据库的访问,就当时来说,这是一项多么吸引人的技术,包括现在Internet上的许多web站点都是用Asp写的,我的同事前辈们更是玩Asp的高手,经历这么多年而不衰,可见他的成功.         但是,技术是在不断的发展着,引用某位Net专家的话讲―

控件显示-新手求助,VS调用子窗体时控件莫名其妙不见了

问题描述 新手求助,VS调用子窗体时控件莫名其妙不见了 我的主窗体的控件运行了还在,但调用的子窗体的控件就是不见了,在designer页面里也没有找到错误,快哭了,求拯救啊,还急着交作业...用的是VS2010 解决方案 是不是可见属性没设置正确啊

在asp.net中为Web用户控件添加属性和事件

asp.net|web|控件 在asp.net中为Web用户控件添加属性和事件 在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的实现了对数据库的访问,就当时来说,这是一项多么吸引人的技术,包括现在Internet上的许多web站点都是用Asp写的,我的同事前辈们更是玩Asp的高手,经历这么多年而不衰,可见他的成功. 但是,技术是在不断的发展着,引

如何给用户控件定义属性(C#:ASP.NET)

asp.net|控件 前言 ASP.NET的用户控件功能很强大,在web窗体里面调用相信大家都会,如果要给用户控件定义属性,那该怎么做呢?只要你看完这篇文章保你会给自己的控件上弄上几个属性.本篇文章不太适合初学.NET的朋友,涉及到一些面向对象的知识,如果您不了解这些知识,请参阅相关书籍 在这里下载电子图书(http://www.cs-aspx.net/down.aspx) 程序namespace DotNet{ using System; using System.Data; using Sy

asp.net如何在运行时,根据控件的属性名动态的添加控件的属性?

问题描述 问题描述:要实现的功能很简单,就是根据checkboxlist中选择的值,设置label的一些属性.但是我想不用硬编码Label1.Font.Bold这种方式,而是根据item的value动态设置.代码如下:foreach(ListItemiteminCheckBoxList1.Items){if(item.Selected==true){//item.Value的值为Bold.通过item.Value可以得知我是想设置Label1.Font的Bold为true.Label1.Font

《iOS 9 开发指南》——第6章,第6.7节iOS 9控件的属性

6.7 iOS 9控件的属性iOS 9 开发指南Xcode中Interface Builder 工具是一个功能强大的"所见即所得"开发工具.在中Interface Builder主界面提供了一个设计区域,该区域中放入我们设计的所有组件,一般要先放入一个容器组件,如UIView 视图,然后在视图中放入其他组件.例如在故事板中拖入一个后,鼠标选中Label标签,然后同时按下"option+command+4"快捷键打开属性检查器面板. 有关iOS 9中各个控件属性的具体