我有一个代码:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Alt|Keys.D1:
if (this._condition1)
{
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
break;
case Keys.Control |Keys.U:
if (this._condition2)
{
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
break;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
return true;
Run Code Online (Sandbox Code Playgroud)
它让我在休息时"检测到无法访问的代码"警告.
在这里不使用break运算符是一种好习惯吗?我不想关闭"检测到无法访问的代码"警告.
PS:我的ProcessCmdKey方法有很多种情况.
我有一个tablelayoutpanel.2x2 - 2列2行.
例如,我在第1行第二列中添加了一个按钮button1.button1的dock属性设置为Fill.VS Designer允许设置button1的列/行范围属性.
我希望可用性以编程方式更改button1的 行跨度属性,因此它可以填充所有第二列(1行和第2行)和可用性以将其设置回来.
怎么样?
为什么我不能使用这样的代码?
int i = 0;
try i = int.Parse("qwerty");
catch throw;
Run Code Online (Sandbox Code Playgroud)
try i = int.Parse("qwerty");
catch;
finally Log.Write("error");
Run Code Online (Sandbox Code Playgroud)
应该像这样写
int i = 0;
try { i = int.Parse("qwerty"); } catch { throw; }
Run Code Online (Sandbox Code Playgroud)
try { i = int.Parse("qwerty");}
catch {}
finally {Log.Write("error");}
Run Code Online (Sandbox Code Playgroud)
PS:
我可以在没有{}的情况下使用if-else语句.我为什么要用try-catch(-finally)语句来使用它们?有什么有意义的理由吗?
是不是因为有些人认为代码难以阅读?
几个月前,我在俄罗斯编程论坛上提出这个问题,但我没有得到满意的答复......
我有一个以分号分隔的值列表,例如:
strins s = "param1=true;param2=4;param3=2.0f;param4=sometext;";
Run Code Online (Sandbox Code Playgroud)
我需要一个功能:
public bool ExtractBool(string parameterName, string @params);
public int ExtractInt(string parameterName, string @params);
public float ExtractFloat(string parameterName, string @params);
public string ExtractString(string parameterName, string @params);
Run Code Online (Sandbox Code Playgroud)
.net中是否有特殊功能可以帮助我使用以分号分隔的列表?
PS:参数名称在列表中相等.
我注意到一些枚举作为枚举成员有"无".
比如我的意思
enum Mode
{
Mode1 = 1,
Mode2 = 2,
Mode3 = 3,
None = 4
}
Run Code Online (Sandbox Code Playgroud)
他们为什么要用它?在什么情况下,更优选不含有成员的溶液(不太优选)?
如何从XML注释中引用UpdateChanged字段Long1?
public sealed class SystemConfiguration
{
public long Long1;
/// <summary>
/// Make reference to Long1
/// </summary>
public bool UpdateChanged;
}
Run Code Online (Sandbox Code Playgroud) 我将时间表示为浮点数(以秒为单位).我需要一个函数将此表示转换为字符串格式.像这样的东西:
/// <summary>
/// Get time from a float representation.
/// </summary>
/// <param name="f">Time in a floating-point number.</param>
/// <returns>Time in a string format.</returns>
string GetTime(float f)
{
return f.ToString(); // string format is hh:mm:ss (h-hours, m-minutes, s-seconds)
}
Run Code Online (Sandbox Code Playgroud)
例如,10.0转换为00:00:10,67.0转换为00:01:07
我有一个代码:
VideoChannel[] channels = GetVideoChannels();
dataGridView1.DataSource = channels;
dataGridView1.Refresh();
Run Code Online (Sandbox Code Playgroud)
VideoChannel是一个具有许多属性的类.这段代码工作正常,但我想更改列名.默认情况下,列名称= VideoChannel的属性名称.是否有一些属性我可以标记VideoChannel的属性,所以列名!=属性名?
#1和#2之间有什么区别:
代码1(编译好):
byte[] GetSomeBytes()
{
return (byte[])this.Invoke((MethodInvoker)delegate
{
GetBytes();
});
}
byte[] GetBytes()
{
GetBytesForm gbf = new GetBytesForm();
if(gbf.ShowDialog() == DialogResult.OK)
{
return gbf.Bytes;
}
else
return null;
}
Run Code Online (Sandbox Code Playgroud)
代码2(没有成功)
int GetCount()
{
return (int)this.Invoke((MethodInvoker)delegate
{
return 3;
});
}
Run Code Online (Sandbox Code Playgroud)
代码#2给了我,因为'System.Windows.Forms.MethodInvoker'返回void,返回关键字后面不能跟一个对象表达式.
我该如何解决?为什么(做)编译器认为代码#1是对的?
我想从SQL Server 2008 Management Studio获取图标.它是免费的吗?如果是这样我可以在哪里下载?
c# ×9
algorithm ×2
.net ×1
csv ×1
data-binding ×1
datagridview ×1
invoke ×1
ssms ×1
winforms ×1