我在一个名为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()将焦点带到下一个标签但我没有任何运气转换.有人有什么建议吗?
当我第一次在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) 我有兴趣学习:
Select * from Customer where CustomerId in(12,23,45);
Run Code Online (Sandbox Code Playgroud)
同样,上面有相同的C#.Net关键字吗?
示例:验证日期(月)不在十月,十一月十二月(不在SQL或LINQ中)
我用扩展方法(三元运算符和||通过用月验证)做到了我正在寻找简单的方法来验证,如果存在的话.
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#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
我正在创建一个带有自定义边框的表单.我想使用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) 我有一个包含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) 有办法检查我是否在一系列旗帜中有旗帜?
例:
[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
我有一个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".
有任何想法吗?
我需要创建一个字符串,以固定6个字符.我原来的字符串长度小于6,所以我需要添加空格和字符串的结尾.这是我的代码
par = Math.Round(par / 1000, 0);
parFormat = par.ToString() + new string(' ', 6 - par.ToString().Length);
Run Code Online (Sandbox Code Playgroud)
我得到"数不能为负"的错误信息.
c# ×8
winforms ×6
datagridview ×2
vb.net ×2
asp.net-mvc ×1
enums ×1
performance ×1
redirect ×1
tabcontrol ×1