小编Adr*_*ica的帖子

来自动态创建的事件处理程序的访问控制属性

我正在开发一个C#WinForms应用程序.在FormLoad事件中,我动态创建并添加到表单100按钮没有文本,但具有类似button1,button2等等.此外,在这些按钮,创建后,我动态链接事件的唯一事件处理程序ButtonClick.如何从事件处理程序(更具体地说是按钮名称)中访问按钮的属性?如果我使用this.Name,我得到表单的名称,而不是按钮的名称.

后来编辑:(对于那些可能在这里寻找解决方案的人而言)

private void function1()
{
    Button a = new Button();

    a.Name = "button" + (i * j).ToString();
    a.Click += new EventHandler(OnFieldButtonClicked);
}

private void OnFieldButtonClicked(object sender, EventArgs e)
{
    Button button = (Button)sender;
    MessageBox.Show(button.Name);
}
Run Code Online (Sandbox Code Playgroud)

c# button event-handling winforms

2
推荐指数
1
解决办法
1787
查看次数

动态创建表格布局面板需要太长时间

我正在使用C#编写WinForms应用程序.我最初有一个表格布局面板,我用动态创建的按钮填充,每个单元格一个.这很好用,也很快.在程序执行期间,我必须清除此表布局面板并重新填充它,几乎使用相同的显示,但更多的按钮(初始表的数字的两倍).问题是这个过程需要很多时间(超过10秒).难道我做错了什么?这是代码:

buttonTable.Controls.Clear();
buttonTable.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
buttonTable.RowCount = GetNoOfLines();
buttonTable.ColumnCount = GetNoOfLines();

for (int z = 1; z <= GetNoOfLines(); z++)
{
    buttonTable.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 25));
    buttonTable.RowStyles.Add(new RowStyle(SizeType.Absolute, 25));
}

for (int i = 1; i <= GetNoOfLines(); i++)
{
    for (int j = 1; j <= GetNoOfLines(); j++)
    {
        FieldButton tempButton = new FieldButton(i, j, GetNoOfLines());
        tempButton.MouseDown += new MouseEventHandler(OnFieldButtonClicked);

        buttonTable.Controls.Add(tempButton, j - 1, i - 1);
     }
 }
Run Code Online (Sandbox Code Playgroud)

注意:FieldButton是一个派生自的类Button,我已经添加了两个int's,没有什么特别之处.此外,按钮正确添加到表中.谢谢!

c# winforms

2
推荐指数
1
解决办法
2590
查看次数

jQuery手动验证没有显示错误

我在ASP.NET MVC 3中使用jQuery验证.是否有可能检查输入是否有效而不显示实际输入旁边的错误消息?

我试过了:

$("#myForm").validate().element("#myInput1"); // this shows the error message only for the myInput1 element

$('#myForm').valid(); // this shows the error messages for all fields.
Run Code Online (Sandbox Code Playgroud)

我不是要试图压制永远显示的错误,我只是想通过使用在服务器上创建的验证来检查字段是否有效.那个可以改变,所以我不想有两个验证定义(一个在客户端上,一个在服务器上).谢谢!

后来编辑:

var a = $('#myForm').validate({
    errorPlacement: function(error,element) {
                       return true;
                    }
}).element("#myInput1");
alert(a);
Run Code Online (Sandbox Code Playgroud)

这也显示了错误.

asp.net-mvc jquery jquery-validate unobtrusive-validation

2
推荐指数
1
解决办法
1640
查看次数

正则表达word.otherword

我想要一个word.otherword表单的正则表达式.我试过了\b[a-z]\.[a-z]\b,但它给了我一个错误的\.部分,说Unrecognized escape sequence.知道什么是错的吗?我在.NET C#下工作.谢谢!

LE:

john.Smith或者JoHn.SmItH还是JOHN.SMITH应该工作.

John Smithjohn!Smithjohn.Smith.Smith不应该工作.

.net c# regex

1
推荐指数
1
解决办法
83
查看次数

显示格式字符串,int为百分比

我有一些整数值(介于1和100之间),我想在进度条中使用它们,它具有DisplayFormatString属性.

我还想在输出字符串中使用百分号'%'.

问题是,通过使用符号,它会自动将我的值乘以100,当我想要它时,它会显示我的值3300%.我怎么能克服这个?

DisplayFormatString="0%"
Run Code Online (Sandbox Code Playgroud)

.net c# devexpress string-formatting

1
推荐指数
1
解决办法
1万
查看次数