2017-10-12 80 views
-2

我有,我不無如何修復錯誤。我會用代碼來解釋答案。這是錯誤,錯誤1,沒有超載的 'turnToVideoToolStripMenuItem_Click' 匹配委託 'System.EventHandler' C:\用戶\ kinoa \文件\的Visual Studio 2013 \項目\裝甲動畫工作室\裝甲動畫工作室\ main.Designer.cs 259 56裝甲動畫工作室。C#如何解決這一問題

這是代碼,

using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 
    using System.Windows.Forms; 
    using NReco.VideoConverter; 
    using System.Diagnostics; 
    using System.IO; 

    namespace Armored_Animation_Studio 
    { 
    public partial class main : Form 
    { 
    public Point current = new Point(); 
    public Point old = new Point(); 
    public Graphics g; 
    public Pen p = new Pen(Color.Black, 5); 
    public List<Image> Animation = new List<Image>(); 
    public main() 
    { 
     InitializeComponent(); 
     g = panel1.CreateGraphics(); 
     p.SetLineCap(System.Drawing.Drawing2D.LineCap.Round, 
    System.Drawing.Drawing2D.LineCap.Round, 
    System.Drawing.Drawing2D.DashCap.Round); 
    } 

    private void panel1_MouseMove(object sender, MouseEventArgs e) 
    { 
     if (e.Button == MouseButtons.Left) 
     { 
      current = e.Location; 
      g.DrawLine(p, current, old); 
      old = current; 
     } 
    } 

    private void panel1_MouseDown(object sender, MouseEventArgs e) 
    { 
     old = e.Location; 
     if(radioButton1.Checked) 
     { 
      p.Width = 1; 
     } 
     else if(radioButton2.Checked) 
     { 
      p.Width = 5; 
     } 
     else if (radioButton3.Checked) 
     { 
      p.Width = 10; 
     } 
     else if (radioButton4.Checked) 
     { 
      p.Width = 15; 
     } 
     else if (radioButton5.Checked) 
     { 
      p.Width = 30; 
     } 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     ColorDialog cd = new ColorDialog(); 
     if (cd.ShowDialog() == DialogResult.OK) 
      p.Color = cd.Color; 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     panel1.Invalidate(); 
    } 

    private void radioButton7_CheckedChanged(object sender, EventArgs e) 
    { 
     p.Color = System.Drawing.Color.White; 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     Bitmap bmp = new Bitmap(panel1.Width, panel1.Height); 
     panel1.DrawToBitmap(bmp, new Rectangle(0, 0, panel1.Width, 
    panel1.Height)); 
     Animation.Add(bmp); 
    } 


    private void turnToVideoToolStripMenuItem_Click(object sender, EventArgs 
    e, string [] args) 
    { 
        Process proc = new Process(); 
     proc.StartInfo.FileName = "ffmpeg"; 
     proc.StartInfo.Arguments = "-i " + args[0] + " " + args[1]; 
     proc.StartInfo.RedirectStandardError = true; 
     proc.StartInfo.UseShellExecute = false; 
     if (!proc.Start()) 
     { 
      Console.WriteLine("Error starting"); 
      return; 
     } 
     StreamReader reader = proc.StandardError; 
     string line; 
     while ((line = reader.ReadLine()) != null) 
     { 
      Console.WriteLine("ffmpeg -i <imagefile> -vcodec mpeg4 out_movie"); 
     } 
     proc.Close(); 
    } 


} 
} 

謝謝!

+4

刪除',串[] args'從turnToVideoToolStripMenuItem_Click聲明。 – 2017-10-12 11:18:23

+3

爲什麼在事件結尾添加string [] args? – Amit

回答

1

更改方法簽名:

private void turnToVideoToolStripMenuItem_Click(object sender, EventArgs e, string [] args) 

到:

private void turnToVideoToolStripMenuItem_Click(object sender, EventArgs e) 

會照顧的編譯器錯誤的,但你留下了越來越到您預計在args中的數據。你期望在最後一個參數中傳遞什麼?