小编Lar*_*ech的帖子

将焦点设置在选项卡上

我在一个名为Wafer Map的窗体中有一个标签,它有三个子标签.第一个子选项卡是名为Map,并有一个Load和Skip按钮.我正在尝试将焦点设置在"加载"按钮上的"晶圆"子选项卡上.这是我尝试使用的以下代码.

Private Sub Load_Wafer_Layout_Map_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Load_Wafer_Layout_Map.Click
    Wafer_Info.Enabled = True
    Wafer_Info.Show()
End Sub
Run Code Online (Sandbox Code Playgroud)

Wafer_Info.Enabled = True用于启用"晶圆"选项卡上的所有控件,并在单击按钮时正常工作.我已经尝试使用.Focus()和.Show()将焦点带到下一个标签但我没有任何运气转换.有人有什么建议吗?

vb.net winforms

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

Winform应用程序第一个Web请求很慢

当我第一次在Winform应用程序中创建HttpWebRequest时,处理第一个请求需要10~30秒.后续调用不到一秒钟.我写了一个小POC应用程序来举例说明这个,它由两个按钮和2个文本框组成,可以在这里找到应用程序的图像(我还不能在这里上传图像......):

在此输入图像描述

应用程序代码非常简单:

public partial class Form1 : Form
{
    DateTime _start;
    TimeSpan _span;
    int _count = 0;
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        _count++;
        _start = DateTime.Now;
        HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(textBox1.Text); ;
        // Added after Conrad's response:
        _request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
        HttpWebResponse _response = (HttpWebResponse)_request.GetResponse(); 
        _response.Close();
        _span = DateTime.Now - _start;
        textBox2.Text += _count.ToString("000") + ": " + _span.ToString(@"mm\:ss\,fff") + "\r\n";
    }

    private void button2_Click(object sender, …
Run Code Online (Sandbox Code Playgroud)

c# performance httpwebrequest winforms

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

SQL Server"in"等效于.Net

我有兴趣学习:

Select * from Customer where CustomerId in(12,23,45);
Run Code Online (Sandbox Code Playgroud)

同样,上面有相同的C#.Net关键字吗?

示例:验证日期(月)不在十月,十一月十二月(不在SQL或LINQ中)

我用扩展方法(三元运算符||通过用月验证)做到了我正在寻找简单的方法来验证,如果存在的话.

c#

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

RedirectToAction不会更改URL

1.我有一个主页(主页/索引).在这里您选择语言.这里的网址是这样的:"localhost:xxxx".

2.选择语言后,以下是登录页面(帐户/索引)这里的网址是: "localhost:xxxx/Account/Index?language=en-US".

3.输入数据(用户名/密码)并单击登录按钮时,重定向到用户/索引,但网址保留在帐户/登录

我的表格:

<% using (Html.BeginForm("LogOn", "Account")) { %>
<div data-role="fieldcontain" class="ui-hide-label">
  <label for="username">Username:</label>
  <%: Html.TextBoxFor(m => m.Username, new { placeholder = "Username" })%>                      
</div>
<div data-role="fieldcontain" class="ui-hide-label">
  <label for="password">Password:</label>
  <%: Html.PasswordFor(m => m.Password, new { placeholder = "Password" })%>                 
</div>
<fieldset class="ui-grid-a">
  <div class="ui-block-a"><button type="reset" data-theme="d">Reset</button></div>
  <div class="ui-block-b"><button type="submit" data-theme="b">Log On</button></div>
</fieldset>             
<% } %>
Run Code Online (Sandbox Code Playgroud)

账户管理员:

[HandleError]
public class AccountController : Controller
{        
  public ActionResult Index(string language = "es-Es")
  {
    return View();
  }

  [HttpPost]
  public ActionResult …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc redirect asp.net-mvc-3

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

DataGridView导航到下一行

我有一个C#winforms应用程序,我正在尝试使用一个按钮,在选择一个之后将选择datagridview中的下一行.

我到目前为止的代码是:

private void button4_Click(object sender, EventArgs e)
{
  try
  {
    Int32 selectedRowCount = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);

    // index out of range on this line
    dataGridView1.Rows[dataGridView1.SelectedRows[selectedRowCount].Index].Selected = true;

    dataGridView1.FirstDisplayedScrollingRowIndex = selectedRowCount + 1;
  }
  catch (Exception ex)
  {
    return;
  }
Run Code Online (Sandbox Code Playgroud)

但是在运行它时会引发异常.任何人都可以指出我可能出错的地方.抛出的错误是:Index is out of range

c# datagridview winforms

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

调整大小时,OnPaint会离开路径

我正在创建一个带有自定义边框的表单.我想使用onPaint覆盖来绘制自己的边框.不幸的是,当我使用下面的代码时,我得到了图像的痕迹.

有谁知道如何解决这一问题?是的,我已将DoubleBuffered设置为true.

protected override void OnPaint(PaintEventArgs e)
{
  Graphics g = e.Graphics;

  // Background
  g.FillRectangle(new SolidBrush(ColorTranslator.FromHtml("#EFEFF7")), new Rectangle(0, 0, this.Width - 1, this.Height - 1));

  // Outer Borders
  g.DrawImage(Resources.Resource.OuterBorderTopLeft, new Rectangle(0, 0, 13, 13));
  g.DrawImage(Resources.Resource.OuterBorderTopLeft1, new Rectangle(13, 0, 221, 13));
  g.DrawImage(Resources.Resource.OuterBorderTopLeft2, new Rectangle(0, 13, 13, 221));
  g.DrawImage(Resources.Resource.OuterBorderTopRight, new Rectangle(this.Size.Width - 13, 0, 13, 13));
  g.DrawImage(Resources.Resource.OuterBorderTopRight1, new Rectangle(this.Size.Width - 13, 13, 13, 221));
  g.DrawImage(Resources.Resource.OuterBorderTopRight2, new Rectangle(this.Size.Width - 234, 0, 221, 13));
  g.DrawImage(Resources.Resource.OuterBorderBottomLeft, new Rectangle(0, this.Size.Height - 13, 13, 13));
  g.DrawImage(Resources.Resource.OuterBorderBottomLeft1, new …
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

以编程方式在TabControl中创建选项卡

我有一个包含tabcontrol的表单,我想根据前一个表单上的用户输入修改它.我创建了一个名为"TabControl"的tabcontrol(我知道这是创意),并且我正在尝试为数组"tabNames()"的每个值添加一个选项卡.当我调试程序时,我在第一个窗体上的数组中输入值,当第二个窗体加载时,我的tabcontrol中什么都没有.有什么想法吗?

Public Sub frmContent_Load(ByVal sender As Object, ByVal e As EventArgs)
  lblTitle.Text = frmiFormCreator.txtTitle.Text
  For i As Integer = 0 To frmiFormCreator.numberOfTabs
    Dim tabPage(frmiFormCreator.numberOfTabs) As TabPage
    tabPage(i).Text = frmiFormCreator.tabNames(i)
    TabControl.TabPages.Add(tabPage(i))
  Next
End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net tabcontrol winforms

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

HasFlag始终返回True

有办法检查我是否在一系列旗帜中有旗帜?

例:

[Flags]
Enum TestEnum
{
  ALIVE, DEAD, ALMOSTDEAD, HURT, OTHERS

}
// check if is alive and has been hurt
TestEnum aTest = TestEnum.ALIVE | TestEnum.HURT
bool aTest2 = aTest.HasFlag(TestEnum.ALIVE)
Run Code Online (Sandbox Code Playgroud)

a.Test.HasFlag即使没有TestEnum.ALIVE,总是返回true

c# enums

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

以编程方式更改DataGridView单元格值

我有一个datagridview,它有一个数据表作为数据源.我需要手动更改一些单元格值.例如,如果单元格输入值包含字符"g",则在离开单元格时它必须自动更改"abc".以下代码检查当前单元格的格式化值:

private void dgwPNotlar_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
  if (e.ColumnIndex<2||e.ColumnIndex>4||e.FormattedValue.ToString()=="")
  {
    return;
  }

  if (e.FormattedValue.ToString().Contains('G')||e.FormattedValue.ToString().Contains('g'))
  {
    dgwPNotlar.EditMode = DataGridViewEditMode.EditProgrammatically;
    dgwPNotlar.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "abc";
    dgwPNotlar.EndEdit();
    dgwPNotlar.EditMode = DataGridViewEditMode.EditOnEnter;
    return;
  }
}
Run Code Online (Sandbox Code Playgroud)

当代码"dgwPNotlar.EndEdit();" 运行时,我更改的单元格值为"abc",返回上一个值为"g"或"G".

有任何想法吗?

c# datagridview winforms

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

如何向字符串添加空格以使字符串具有6个字符

我需要创建一个字符串,以固定6个字符.我原来的字符串长度小于6,所以我需要添加空格和字符串的结尾.这是我的代码

par = Math.Round(par / 1000, 0);
parFormat = par.ToString() + new string(' ', 6 - par.ToString().Length);
Run Code Online (Sandbox Code Playgroud)

我得到"数不能为负"的错误信息.

c#

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