如何使用字典值获取字典键?
当使用密钥获取值时,如下所示:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "a");
Console.WriteLine(dic[1]);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
如何做相反的事情?
System.Drawing.Point和之间有什么区别System.Drawing.PointF.你能举两个这样的例子吗?
提前致谢.
如何使用自己的值以编程方式更改列表视图中单个单元格的背景颜色?

ColorFlag列中的值来自数据库.
这是我的代码:
foreach(DataRow dr in _dataTbl.Rows)
{
_markOW = dr["Mark"].ToString();
_stock = dr["Stock"].ToString();
_SteelSectio = dr["SteelSection"].ToString();
_colo = (Int32)dr["Color"];
ListViewItem _lvi = new ListViewItem(_markOW);
_lvi.SubItems.AddRange(new string[]{_SteelSectio, _stock, _colo.ToString()});
_myListView.Items.Add(_lvi); }
Run Code Online (Sandbox Code Playgroud)
这是我试图改变单元格背景颜色的代码:
for (int _i = 0; _i < _owLV.Items.Count; _i++)
{
_myListView.Items[_i].UseItemStyleForSubItems = false;
_myListView.Items[_i].SubItems[3].BackColor = Color.FromArgb(_colo);
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
没有任何Sort()功能IList.someoene可以帮我这个吗?我想对自己的IList进行排序.
假设这是我的IList:
public class MyObject()
{
public int number { get; set; }
public string marker { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用标记字符串对myobj进行排序?
public void SortObject()
{
IList<MyObject> myobj = new List<MyObject>();
}
Run Code Online (Sandbox Code Playgroud) 我使用Click事件使用列表填充ComboBox项.当它已经填充时,MaxDropDownItems不起作用.有谁知道如何解决这个问题?
这是代码:
List<string> list = new List<string>();
ComboBox cb;
private void button1_Click(object sender, EventArgs e)
{
cb = new ComboBox();
cb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
cb.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
cb.FormattingEnabled = true;
cb.Size = new System.Drawing.Size(94, 21);
cb.MaxDropDownItems = 5;
cb.Click +=new EventHandler(cb_Click);
this.Controls.Add(cb);
}
private void cb_Click(object sender, EventArgs e)
{
foreach (string str in list)
{
cb.Items.Add(str);
}
}
private void Form1_Load(object sender, EventArgs e)
{
list.Add("1");list.Add("2");list.Add("3");
list.Add("4");list.Add("5");list.Add("6");
list.Add("7");
}
Run Code Online (Sandbox Code Playgroud)
MaxDropDownItems设置为5,因此组合框应该至少显示5个项目:

我可以计算水平和垂直点,但我无法弄清楚如何使用对角点计算距离.有人可以帮我弄这个吗.
这是我的水平和垂直测量的代码:
private float ComputeDistance(float point1, float point2)
{
float sol1 = point1 - point2;
float sol2 = (float)Math.Abs(Math.Sqrt(sol1 * sol1));
return sol2;
}
protected override void OnMouseMove(MouseEventArgs e)
{
_endPoint.X = e.X;
_endPoint.Y = e.Y;
if (ComputeDistance(_startPoint.X, _endPoint.X) <= 10)
{
str = ComputeDistance(_startPoint.Y, _endPoint.Y).ToString();
}
else
{
if (ComputeDistance(_startPoint.Y, _endPoint.Y) <= 10)
{
str = ComputeDistance(_startPoint.X, _endPoint.X).ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
假设已经设置了_startPoint.

在这张图片中,对角点显然是错误的.
我创建了两个UIViewControll以模态呈现的.让我们说前5次尝试,模态将正常出现,但之后会给我一个:
Warning: Attempt to dismiss from view controller <UINavigationController: 0x76a8450> while a presentation or dismiss is in progress!
Run Code Online (Sandbox Code Playgroud)
下面是解除当前视图控制器并呈现另一个视图控制器的代码
[customAlertLoad dismissViewControllerAnimated:NO completion:^{
CustomAlertMsg *cust = [[CustomAlertMsg alloc] init];
cust.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
cust.modalPresentationStyle = UIModalPresentationFormSheet;
cust.delegate = self;
[self.navigationController presentModalViewController:cust animated:YES];
cust.view.superview.frame = CGRectMake(0, 0, 458, 230);
cust.view.superview.center = self.view.center;
}];
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢.
我试图使用该RemoveAt()方法从列表视图中删除特定项目.但当我第一次删除它时,一些物品会留下来.
例如:见下图

码:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].SubItems[0].Text == "A1")
{
listView1.Items.RemoveAt(i);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
for(int i = 0; i<3; i++)
{
ListViewItem lvi = new ListViewItem("A1");
lvi.SubItems.AddRange(new string[] {"desc" + i.ToString(), i.ToString()});
listView1.Items.Add(lvi);
}
for (int i = 0; i < 2; i++)
{
ListViewItem lvi = new ListViewItem("A2");
lvi.SubItems.AddRange(new string[] { "desc" + i.ToString(), i.ToString() …Run Code Online (Sandbox Code Playgroud) 我创建了两个点,就像一条线.我想将其转换为矩形.我该怎么办?
例如,这是我画线的方式.但我希望它是一个Rectangle
private PointF start, end;
protected override void OnMouseDown(MouseEventArgs e)
{
start.X = e.X;
start.Y = e.Y;
}
protected override void OnMouseUp(MouseEventArgs e)
{
end.X = e.X;
end.Y = e.Y;
Invalidate();
}
Run Code Online (Sandbox Code Playgroud) 有关如何通过单击两个新点创建一条线然后在它们之间画一条线的建议吗?我正在尝试创建一个像adobe杂技演员那样的距离工具.
图像示例

我正在尝试在运行时创建按钮。我的问题是我应该如何在运行时模式下向每个按钮添加一个事件?
例如:
Button btn;
int i =0;
int j =0;
List<Button> listBTN = new List<Button>();
private void button1_Click(object sender, EventArgs e)
{
btn = new Button();
btn.Location = new Point(60 + i, 90);
btn.Size = new Size(50, 50);
btn.Name = "BTN";
listBTN.Add(btn);
i = i + 50;
foreach(Button b in listBTN){
this.Controls.AddRange(new Button[] {b});
}
}
Run Code Online (Sandbox Code Playgroud)

如何在C#中实现这样的格式?
假设这是输出:
<Region id="1" name="Africa"/>
Run Code Online (Sandbox Code Playgroud)
到目前为止这是我的C#代码:
using (XmlWriter xml_writer = XmlWriter.Create(str_builder))
{
xml_writer.WriteStartDocument();
xml_writer.WriteStartElement("RegionList");
foreach (var get_regions in qdb_conn.Regions())
{
xml_writer.WriteStartElement("Region");
xml_writer.WriteEndElement();
}
xml_writer.WriteEndElement();
xml_writer.WriteEndDocument();
}
Run Code Online (Sandbox Code Playgroud)