小编Bri*_*ian的帖子

从中获取数据然后返回Windows剪贴板

我想获取当前存储在Windows剪贴板中的数据并将其保存在变量中,然后将数据放回剪贴板.

现在我正在使用这段代码:

object l_oClipBrdData = Clipboard.GetDataObject();
Clipboard.SetDataObject(l_oClipBrdData ,true);
Run Code Online (Sandbox Code Playgroud)

但在这之后,剪贴板是空的.

我究竟做错了什么?

c# clipboard copy paste

6
推荐指数
2
解决办法
9612
查看次数

迭代与另一条线垂直的N个点

我有1行有2个已知点:

PointF p2_1 = new PointF();
p2_1.X = 100; // x1
p2_1.Y = 150; // y1

PointF p2_2 = new PointF();
p2_2.X = 800; // x2
p2_2.Y = 500; // y2

float dx = p2_2.X - p2_1.X;
float dy = p2_2.Y- p2_1.Y;

float slope = dy / dx; // slope m
float intercept = p2_1.Y - slope * p2_1.X; // intercept c 
// y = mx + c
Run Code Online (Sandbox Code Playgroud)

我想迭代10个像素向左(或右)到1行(在x1,y1).

在此输入图像描述

红点是我想要处理的.例:

for (int i = 10; i > 0; i--)
{ …
Run Code Online (Sandbox Code Playgroud)

c# winforms

6
推荐指数
1
解决办法
472
查看次数

切换到VS 2012,现在表格没有正确调整大小?

我昨天从VS 2010切换到了VS 2012,除了这个以外,一切似乎都顺利.

我的表单上有一个按钮,按下该按钮可以扩展表单的宽度以显示其他控件.再次按下按钮,它会减小宽度以隐藏这些控件.现在所有这些在VS 2010中运行良好,并且在我在VS 2012中调试时工作正常但是一旦我发布或编译项目并在单击按钮时打开.exe,它就会增加5到宽度而不是需要100+.我再次点击它然后它会像它应该更改为372并显示我的所有控件.我再次点击它来隐藏控件,它部分隐藏了控件(转到188 +神秘的5)我希望所有这些都有意义,我希望有更好的方法来运行我需要的过程.

以下是我目前正在使用的代码,从2010年到2012年,我没有改变任何内容.实际上,如果我在2010年打开这个相同的解决方案并发布一切正常.

    private void button1_Click(object sender, EventArgs e)
    {
        if (this.Width == 188)
        {
            this.Width = 372;
            this.Height = 540;
            progressBar.Value = 100;
            copied_status.Text = ("Output View Enabled");
        }
        else
        {
            progressBar.Value = 100;
            copied_status.Text = ("Output View Disabled");
            this.Width = 188;
            this.Height = 540;
        }

        if (this.Width == 372)
        {
            button1.Text = "<<";
        }
        else
            button1.Text = ">>";

    }
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010 winforms visual-studio-2012

6
推荐指数
1
解决办法
1077
查看次数

cshtml中的OpenFileDialog

我可以知道我可以在Razor中写这样的c#Opendialog吗?我正在尝试制作一个openfiledialog,它可以让用户将照片上传到SqlServerCe数据库:

OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
   try
   {
      string path = openFileDialog1.FileName;
      byte[] image = File.ReadAllBytes(path);
      string query = "UPDATE firma SET logo=@Image WHERE id = 1";
      SqlCommand sqlCommand = new SqlCommand(query, conn);
      sqlCommand.Parameters.AddWithValue("@Image", image);
      conn.Open();
      sqlCommand.ExecuteNonQuery();
      conn.Close();
   }
   catch (Exception ex)
   {
      MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
   }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor

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

如何使用nightwatch中的keys命令粘贴?

我怎样才能粘贴在守夜人手表上?我试过这个命令:

browser.keys([browser.Keys.COMMAND, browser.Keys.v])
Run Code Online (Sandbox Code Playgroud)

但是命令不起作用.

理想情况下,我可以将复制的文本保存到变量中.

nightwatch.js

6
推荐指数
1
解决办法
2880
查看次数

如何使用StreamWriter写入文件?

在我的Wpf应用程序中,我使用的是Person类(即基类),它包含一个虚方法SaveData(),以及其他继承自Person的类Client.如何覆盖方法SaveData()并保持数据从基数?

班级人员

public virtual void SaveData()
{
   string arqName = string.Format("Person{0}" + ".txt", Id);
   StreamWriter file = new StreamWriter(arqNome);
   file.WriteLine("ID: " + Id);
   file.WriteLine("DOB: " + dOB);
   file.WriteLine("Name: " + name);
   file.WriteLine("Age: " + age);
   file.Flush();
   file.Close();     
}
Run Code Online (Sandbox Code Playgroud)

类客户

public override void SaveData()
{
   base.SaveData();
   string arqName = string.Format("Person{0}" + ".txt", Id);
   StreamWriter file = new StreamWriter(arqNome);
   file.WriteLine("Cod: " + cod);
   file.WriteLine("Credits: " + credits);
   file.Flush();
   file.Close();
}
Run Code Online (Sandbox Code Playgroud)

客户端中的覆盖方法确实覆盖了其他数据,如Name,Age,DOB ......我需要在同一个文件中保留两者.

.net c# io streamwriter

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

WatiN,IE 实例并通过它们的 hWnd 值获取它们

我目前正在使用 WatiN 来自动化工作中的专有网站,并且遇到了能够通过其 hWnd 值获取 IE 会话的问题。

截至撰写本文时,我可以启动 IE,处理发生的弹出窗口(该网站使用 JavaScript 动态生成某些内容),但一旦我完成与弹出窗口的交互,就无法返回到主 IE(第一个)窗口。向上。

想法?

watin

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

如何在dijkstra算法的O(log n)时间中更新优先级队列中的密钥?

在过去的一周中,我一直在研究dijkstra的算法,其中一个在Java中具有正确的运行代码。它使用数组来计算标准的findMin函数,该函数可以为您提供距离最小的顶点。显然它是O(n),现在我想使用Priority Queue(Min Heaps)来实现它

我的思考过程是:

while (there are unseen Vertex)
{

    vertex= get TheVertex WithSmallest Distance Yet;//(In can be done in O(log n) using heap)

  for this vertex {

    find all of the adjacent edges and traverse them.

    for a particular vertex which is not there in heap yet{

        Simply add it in the queue;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果堆中存在特定的顶点,则可以考虑找到的Min节点的距离来更新其距离。

现在,我的问题是如何在O(log n)时间更新堆中的特定元素。

我们在O(1)时间找不到该元素吧?

在像我这样的幼稚实现中,它是O(n),

那么,谁能建议可以采取什么措施来解决这一瓶颈呢?我们如何在O(log n)时间中更新堆中的特定顶点?(类似地,我们如何在O(1)时间中找到特定元素)

algorithm dijkstra priority-queue data-structures

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

如何在cshtml中检查null/empty值

<b>Start Date: </b>@employee["StartDate"].<br />
Run Code Online (Sandbox Code Playgroud)

使用MVC Razor 3/C#,如何employee["StartDate"]在cshtml中检查值是否为空/空?所以,如果是,我反而显示:

<b>Start Date: </b>Unknown.<br />
Run Code Online (Sandbox Code Playgroud)

我试过了:

@if(employee["StartDate"] == null){<b>Start Date: </b>Unknown.<br />} 
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

c# visual-studio-2010 razor asp.net-mvc-3

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

使用 Visual C# 将图像添加到 SQL 数据库

我正在开发一个用于图像处理的可视化 C# 程序。我正在尝试使用 Visual C#(Windows 窗体)和 ADO.NET 将图像添加到 sql 数据库。

我已使用文件流方法将图像转换为二进制形式,但图像字节未保存在数据库中。在数据库图像列,它显示 < 二进制数据 > 并且没有数据被保存!

我尝试了很多插入方法(有和没有存储过程......等),但总是在数据库中得到同样的东西。

private void button6_Click(object sender, EventArgs e)
{
   try
   {
      byte[] image = null;
      pictureBox2.ImageLocation = textBox1.Text;
      string filepath = textBox1.Text;
      FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
      BinaryReader br = new BinaryReader(fs);
      image = br.ReadBytes((int)fs.Length);
      string sql = " INSERT INTO ImageTable(Image) VALUES(@Imgg)";
      if (con.State != ConnectionState.Open)
         con.Open();
      SqlCommand cmd = new SqlCommand(sql, con);
      cmd.Parameters.Add(new SqlParameter("@Imgg", image));
      int x= cmd.ExecuteNonQuery();
      con.Close();
      MessageBox.Show(x.ToString() + "Image …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server asp.net winforms

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