当用户在字段中进行选项卡时,他们必须通过LinkLabel选项卡才能转到下一个字段.我宁愿他们直接从一个地方到另一个地方而不停在LinkLabel上.但是,在.NET 3.5中,LinkLabel没有将TabStop属性设置为false.升级到.NET 4.0或.NET 4.5不是今天的选择.
我已经尝试了另外两种跳过LinkLabel的方法.
将LinkLabel放在面板上并将面板上的TabStop属性设置为false.LinkLabel仍然会被标记为.
处理LinkLabel上的Enter事件并使用SendKeys或一些此类废话继续下一个控件.这不起作用,因为它使Click事件停止触发.
我还考虑将窗体上所有LinkLabel的TabIndex设置为比其他控件高得多的值.但是,这也行不通
每个字段都是带有Label的面板上的TextBox或ComboBox.ComboBox字段在面板上有一个额外的控件:一个名为"编辑项目"的LinkLabel.这些面板中的每一个都在主FlowLayoutPanel上.
如我错了请纠正我.我理解嵌套面板上控件的Tab键顺序的方式是每个Panel都有自己的Tab Order.然后根据每个Panel的TabIndex将每个的Tab键顺序组合在一起,以确定表单上控件的有效Tab键顺序.对?因此,将每个LinkLabel的TabIndex设置为高200s的数字将无法解决原始问题,就像我看到的那样.
以前有人见过这个挑战吗?你是怎么解决的?我觉得我可能要像LinkLabel控件那样做一些激烈的事情.你会怎么做?
我对视觉C#完全陌生.虽然我可以管理控制台应用程序,但在编码表单方面我很容易迷失方向.
我目前正在制作一个"app launcher",它逐行读取文本文件.每一行都是我电脑上其他地方有用程序的路径.为文本文件中的每个路径(即每一行)自动生成一个链接标签.
我希望链接标签的.Text属性是路径的缩写形式(即只是文件名,而不是整个路径).我已经找到了如何以这种方式缩短字符串(到目前为止这么好!)
但是,我还希望将完整路径存储在某个地方 - 因为这是我的链接标签需要链接到的地方.在Javascript中,我几乎可以将此属性添加到linklabel,如下所示:mylinklabel.fullpath = line; (其中行是因为我们通过文本文件读取当前行,FULLPATH是我的"定制"的属性,我想尝试,并添加到链接标签.我想这需要申报,但我不知道怎么样.
下面是我创建表单的代码部分,逐行读取文本文件并为每行上找到的路径创建链接标签:
private void Form1_Load(object sender, EventArgs e) //on form load
{
//System.Console.WriteLine("hello!");
int counter = 0;
string line;
string filenameNoExtension;
string myfile = @"c:\\users\jim\desktop\file.txt";
//string filenameNoExtension = Path.GetFileNameWithoutExtension(myfile);
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader(myfile);
while ((line = file.ReadLine()) != null)
{
//MessageBox.Show(line); //check whats on each line
LinkLabel mylinklabel = new LinkLabel();
filenameNoExtension = Path.GetFileNameWithoutExtension(line); //shortens the path to just the …Run Code Online (Sandbox Code Playgroud) 我怎么能有一个列表视图,其项目包含链接(指向我们到HTML页面)?
谢谢
我正在为我的C#应用程序创建一个帐户页面.我设置了大量不同的编辑按钮以获得不同的细节,我的目的是减少生成和创建1方法的麻烦,这种方法会将表单更改为需要的方式.
这是我的代码,我希望将停止代码重用.
private void OnEditButton(string boxSelected, Size size)
{
if (doneBtn.Visible)
{
MessageBox.Show("Must edit current detail before editting a new one");
return;
}
lnametxt.Enabled = true;
lnameLink.Visible = false;
doneBtn.Visible = true;
doneBtn.Location = new Point(size);
TextBoxSelected = boxSelected;
}
Run Code Online (Sandbox Code Playgroud)
TextBoxSelected属性告诉数据库它们将要更改的列,因此这是一个参数,因为它将针对每个编辑链接进行更改.
我想做什么?-我试图将Size作为参数传递给此方法.这是调用该方法的代码.
private void lnameLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OnEditButton("lname", (495, 55));
}
Run Code Online (Sandbox Code Playgroud)
在"(495,55)"它有一个错误我已经把第二批括号试图看看它是否适用于那里,而不是自己拥有它.两者都显示它有3个参数.
这是我想要的想法,但没有参数:
private void OnEditButton()
{
if (doneBtn.Visible)
{
MessageBox.Show("Must edit current detail before editting a new one");
return;
}
lnametxt.Enabled = true;
lnameLink.Visible = false; …Run Code Online (Sandbox Code Playgroud)