2

私はまだこのエラーで何が起こっているのかを調べようとしています:

OCR.test.IMessageFilter.PreFilterMessage(ref System.Windows.Forms.Message): 含む型はインターフェイス System.Windows.Forms.IMessageFilter を実装していません

ここに私のコードがあります:

bool IMessageFilter.PreFilterMessage(ref Message m) // Error with this line
{
    TwainCommand cmd = tw.PassMessage(ref m);
    if (cmd == TwainCommand.Not)
        return false;

    switch (cmd)
    {
        case TwainCommand.CloseRequest:
        {
            EndingScan();
            tw.CloseSrc();
            break;
        }
        case TwainCommand.CloseOk:
        {
            EndingScan();
            tw.CloseSrc();
            break;
        }
        case TwainCommand.DeviceEvent:
        {
           break;
        }
        case TwainCommand.TransferReady:
        {
            ArrayList pics = tw.TransferPictures();
            EndingScan();
            tw.CloseSrc();
            picnumber++;
            for (int i = 0; i < pics.Count; i++)
            {
                IntPtr img = (IntPtr)pics[i];
                PicForm newpic = new PicForm(img);
                newpic.MdiParent = this;
                int picnum = i + 1;
                //newpic.Text = "ScanPass " + picnumber.ToString() + "_Pic " + picnum.ToString();
                newpic.Show();
            }
            break;
        }
    }

    return true;
}
4

1 に答える 1

2

PreFilterMessageメソッドを実装するクラスは、IMessageFilterインターフェイスから派生する必要があります。あなたはおそらくそれを逃した

public class Foo: IMessageFilter
{
   bool IMessageFilter.PreFilterMessage(ref Message m)
   {
       // your code
   }
}
于 2013-03-18T09:52:25.530 に答える