在C#编程教程中阅读了访问修饰符之后,我得出结论,定义一个方法public足以让它从另一个Form相同的命名空间中"看到" .
但是,在实践中,每当我尝试实现它时,我还必须定义该方法static,以便从其他Forms相同的命名空间引用它.
我失去了什么吗?我做错了什么?
我有一个WPF项目,我正在使用多个WPF窗口.我的WPF Windows是:
我必须在案例场景中,在第一个一切正常,但在第二个我得到一个空引用异常.
MainWindow.当用户点击MainWindow上的Button时,他在Window1中被转发,我有以下代码:
MainWindow obj=(MainWindow)Application.Current.MainWindow;
private void button1_Click(object sender, RoutedEventArgs e)
{
obj.checkBox1.IsChecked = false;
}
Run Code Online (Sandbox Code Playgroud)
2.第二种场景:App.xaml配置为启动窗口为Login Window.登录代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
var window=new MainWindow();
window.Show();
this.Close();
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当我单击Window1中的按钮时,将抛出obj的空引用异常.
这MainWindow两种情况的初始化有什么不同,导致第二种情况下的异常,我该如何克服它?
在我的表中有2列.Name和Marks.像这样的东西.
Name Marks
---------- -----------
AAA 50
BBB 48
CCC 54
AAA 52
DDD 55
BBB 60
AAA 66
Run Code Online (Sandbox Code Playgroud)
我需要从表格中检索下面的内容
Name No.of.attempts Max Mark
------- ---------------- ------------
AAA 3 66
BBB 2 60
CCC 1 54
DDD 1 55
Run Code Online (Sandbox Code Playgroud) CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(255) COLLATE utf8_bin NOT NULL,
`password` varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)
例如,如何获取id我插入到表中的最后一条记录的主键cursor.execute("insert into ...", ...)?
情况:表单有一个文本框,用户必须在其中键入一些文本.此文本框具有KeyPress事件,其中Form的text属性更改为用户在每次击键时键入的文本.
这是文本框的KeyPress事件的代码:
private void tbGameTitle_KeyPress(object sender, KeyPressEventArgs e)
{
this.Text = textBox1.Text;
}
Run Code Online (Sandbox Code Playgroud)
问题:用户输入的最后一个字符不会被复制到表单的文本中.例:
textBox1.Text = "The War of 1812"
Form2.Text = "The War of 181"
Run Code Online (Sandbox Code Playgroud)
textBox1.Text中"1812年战争"末尾的"2"不会被复制到Form2.Text.
如何将整个文本字符串从textBox1.Text复制到Form2.Text?
我在http://www.dotnetperls.com/namespace中读到以下内容:
命名空间对于C#程序不是必需的.它们通常用于使代码更清晰.
这让我很困惑,因为我有一个你应该总是使用命名空间的主张.我试图通过VS2010删除自动生成的命名空间来创建一个win表单应用程序,但代码不能编译.
所以,我的困惑在于:
我有两张表,一张是这样的:
表格1:
ID- Name- Code- Code 2-
1- John- 115-null
2- Rick- 652-null
3- Jones- 886-null
4- James- 554-null
5- Elton- 125-null
6- Craig- 214-null
7- John- 452-null
Run Code Online (Sandbox Code Playgroud)
表2:
Name- Code- Code 2-
John- 115- a
Rick- 652- b
Jones- 886- c
James- 554- d
Elton- 125- e
Craig- 214- f
John- 452- g
Craig- 886- h
Rick- 115- i
Run Code Online (Sandbox Code Playgroud)
这不是真实的数据,事情没那么简单。我需要将表 2 中的代码 2 获取到表 1 中的代码 # 列。为此,我需要匹配名称和代码列,以将“代码 2”列中的数据获取到“代码 #”列中。它需要与至少两列匹配,因为每列都有重复项......
我想得到这样的结果:
ID- Name- Code- Code 2-
1- John- 115-a …Run Code Online (Sandbox Code Playgroud) select CONVERT(datetime,value,103) from results
Run Code Online (Sandbox Code Playgroud)
这个声明给了我一个错误
"Msg 529, Level 16, State 2, Line 1
Explicit conversion from data type text to datetime is not allowed."
Run Code Online (Sandbox Code Playgroud)
VALUE 列数据类型是 RESULTS 表中的 TEXT。
我怎样才能克服上述问题。请帮忙 !
我是css的新手,我想和你讨论这个问题:
假设我们有一个名为A的div和它的宽度= X px,我们里面还有2个div,div B和div C.
div B:
width: 20%;
border: 1px;
Run Code Online (Sandbox Code Playgroud)
div C:
width: 80%;
border: 1px;
Run Code Online (Sandbox Code Playgroud)
这样,这两个div的宽度总和如下:
20% + 80% + 2(1px left border + 1px right border) => 100% (" width of div A) + 4px
问题是如何使B和C的宽度等于宽度A而不管它们的边界宽度如何?
re.sub("([^\\[\s\\]]+)([\\]\s]*)( [>|=|<] )",replace(r'\1')+r'\2'+r'\3',s)
Run Code Online (Sandbox Code Playgroud)
这不会传递第一个组来替换函数,而是r'\1'作为字符串传递.
请说明出了什么问题.