怎么在静态函数中设置窗体的标题? 老是提示:错误 10 关键字“this”在静态属性、静态方法或静态字段初始值中无效public static void SetFrmText(string strR = "无消息") { this.Text = "窗体名称 - [" + strR + "]。" + DateTime.Now; } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public virtual string Text { get; set; }此属性在Control类中,又不是静态属性,需实例化 你自己把问题想明白,你的定义的窗体需要实例化啊,还是只有一个如果需实例,去掉static,可指定默认标题如果只用单一实例,那你的窗体类中至少要定义一个静态的对象FormClass:Form{ static FromClass __form = new FormClass() public static void FormClass(string txt) { __form.Text = txt; }} 传一个 Form 作为参数不就可以了吗? 另外,按照这个需求,这里用 static 绝对说不通。 静态成员没有this指针,所以它不知道this指什么,想要这么做,你需要传入个窗体指针public static void SetFrmText(string strR = "无消息", Form form){ form.Text = "窗体名称 - [" + strR + "]。" + DateTime.Now;} 或者private static Form This=this;public static void SetFrmText(string strR = "无消息"){ This.Text = "窗体名称 - [" + strR + "]。" + DateTime.Now;} public partial class MainFrm : Form { private static Form This = this;......错误提示:关键字“this”在当前上下文中不可用public static void SetFrmText(string strR = "无消息", Form form)写法错误,而且,和实例化是一个原理.行不通啊. 假如有一个静态类test 里面有个静态字段str那么test.str="asdsad";form.Text = "窗体名称 - [" + test.str+ "]" + DateTime.Now; public partial class Form1 : Form { static Form _staticForm; public Form1() { InitializeComponent(); _staticForm = this; } private void button1_Click(object sender, EventArgs e) { SetText("abc"); } static void SetText(string strText) { _staticForm.Text = strText; } } 有谁会解析ctl与dat文件的 有如下几个非常雷同的方法,请问如何将这4个方法写成一个呢??? 事件处理方法绑定的位置 datagridview中的单元格怎么不能自动换行? 如何把负数转换成整数? 连接池都已被使用并已达到最大池大小的问题.如何解决? licenses.licx未能将许可证文件“licenses.licx”转换为二进制资源。 winform里tooltip的一个问题 使用参数防止注入式攻击~我哪里错了? c#子窗口遍历 C#和.net是用什么语言写的 请教:在windowsformsapplication中如何使得一个包含struct的list能被所有的form使用,多谢
如果只用单一实例,那你的窗体类中至少要定义一个静态的对象
FormClass:Form
{
static FromClass __form = new FormClass()
public static void FormClass(string txt)
{
__form.Text = txt;
}
}
public static void SetFrmText(string strR = "无消息", Form form)
{
form.Text = "窗体名称 - [" + strR + "]。" + DateTime.Now;
}
private static Form This=this;public static void SetFrmText(string strR = "无消息")
{
This.Text = "窗体名称 - [" + strR + "]。" + DateTime.Now;
}
{
private static Form This = this;
......
错误提示:关键字“this”在当前上下文中不可用
public static void SetFrmText(string strR = "无消息", Form form)
写法错误,而且,和实例化是一个原理.行不通啊.
那么
test.str="asdsad";
form.Text = "窗体名称 - [" + test.str+ "]" + DateTime.Now;
public partial class Form1 : Form
{
static Form _staticForm; public Form1() {
InitializeComponent();
_staticForm = this;
} private void button1_Click(object sender, EventArgs e) {
SetText("abc");
} static void SetText(string strText) {
_staticForm.Text = strText;
}
}