小编use*_*612的帖子

为什么我在这条线上出错?

float startPos = e.Graphics.MeasureString(toMeasure, f);
                    e.Graphics.DrawString(keyword, f, sb, new PointF(e.Bounds.X + (int)startPos, e.Bounds.Y));
Run Code Online (Sandbox Code Playgroud)

这是f:

using (Font f = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Regular))
Run Code Online (Sandbox Code Playgroud)

这是toMeasure:

string toMeasure = data[e.Index].Substring(0, keywords - 1);
Run Code Online (Sandbox Code Playgroud)

错误就行了:

float startPos = e.Graphics.MeasureString(toMeasure, f);
Run Code Online (Sandbox Code Playgroud)

错误是:

无法将类型'System.Drawing.SizeF'隐式转换为'float'

我该如何解决?由于第二行应该浮动,但第一行不能转换SizeFfloat.

.net c#

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

为什么我会收到异常InvalidOperationException?

我编写了以下代码,从listBox中删除选定的值.我还想将它从字典列表中删除,然后将其更新/写入文本文件,这样当我再次运行程序并加载文本文件时,如果不是,它会在每次运行时都显示已删除的项目申请再次.

private void listBox1_KeyDown(object sender, KeyEventArgs e)
        {
            string sb;
            if (e.KeyCode == Keys.Delete)
            {
                if (this.listBox1.SelectedIndex >= 0)
                {
                    string obj = this.listBox1.SelectedValue.ToString();
                    data.Remove(obj);
                    listBox1.DataSource = null;
                    listBox1.DataSource = data;
                    foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
                    {
                        for (int i = 0; i < kvp.Value.Count(); i++)
                        {
                            sb = "Url: " + kvp.Key + " --- " + "Local KeyWord: " + kvp.Value[i] + Environment.NewLine;
                            LocalyKeyWords.Remove(kvp.Key);
                        }
                    }

                }
            }

        }
Run Code Online (Sandbox Code Playgroud)

LocalyKeyWords是一个词典>

在这种情况下,它包含两个项目/键我删除一个,我看到一个断点,这个已被删除.

问题是我是否需要删除kvp.Key或以某种方式删除我从listBox中移除的项目,这是我想要从LocalyKeywords中删除的项目,它是obj变量,因为我正在做:

data.Remove(obj);
Run Code Online (Sandbox Code Playgroud)

所以也许我需要从localyKeyWords中删除obj?

我从错误中获得的错误是在从LocalyKeyWords中删除项目之后,在此行上单击继续:

foreach (KeyValuePair<string, …
Run Code Online (Sandbox Code Playgroud)

c# listbox winforms

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

为什么我无法在visual studio 2012 pro中将用户控件加载到我的工具箱?

我去工具箱然后右键单击然后选择项目然后我去COM组件选项卡然后浏览我的文件名在这种情况下是LineGraph.dll我在我的硬盘上看到这个文件我也做了文件的属性和我看到类型是.DLL

但是当我试图在toobox中加载/打开它时出现错误:LineGraph.tlb无法加载.但该文件是.dll从哪里来.tlb来了?

在此输入图像描述

c# visual-studio-2012

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

为什么我检测到无法访问的代码?

代码:

catch(Exception ex)
{
  if (ex is WebException)
  {
    wccfg.failedUrls++; //  i think you forgot this
    return csFiles;
  }
  else
  {
    throw new Exception("");
    wccfg.failedUrls++;
    return csFiles;
  }
}
Run Code Online (Sandbox Code Playgroud)

在第二个wccfg(另一个类)上,我看到绿线表示检测到无法访问的代码.我应该将此行移到抛出新的异常行吗?

c#

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

如何从字符串中删除\n\r?

我有这个代码:

if (t == obj)
{
    LocalyKeyWords.Remove(tokens[0]);
}
Run Code Online (Sandbox Code Playgroud)

变量tstring,也obj就是string.在某些情况下我使用断点并看到obj到底包含\n\r所以我想检查如果字符串obj包含\n\r删除\n\r然后进行比较t == obj

我该怎么做 ?

c#

-5
推荐指数
1
解决办法
402
查看次数

标签 统计

c# ×5

.net ×1

listbox ×1

visual-studio-2012 ×1

winforms ×1