Hallo Community,   
ich habe vor mit dem IO16-Bricklet, 8 Relaisausgänge zu überwachen mit Hilfe eines Interrupt-Callbacks.   
Hier mein Versuch:   
 using Tinkerforge;
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Main2();
        }
        private static string HOST = "localhost";
        private static int PORT = 4223;
        private static string UID_IO16 = "b5W"; 
    
        static void InterruptCB(BrickletIO16 sender, char port, byte interruptMask, byte valueMask)
        {
            MessageBox.Show("ausgelöst");
        }
        static void Main2()
        {
     
            IPConnection ipcon = new IPConnection();
            BrickletIO16 io16 = new BrickletIO16(UID_IO16, ipcon);
            ipcon.Connect(HOST, PORT);
            io16.Interrupt += InterruptCB;
            io16.SetPortInterrupt('b', 129);
            //texttobox("Interrupt deklariert");
            ipcon.Disconnect();
        }
       
    }
}   
Jedoch wird das Callback beim Anziehen eines Relais nicht ausgelöst.. 
Bin leider noch ein Anfänger, aber in einer Konsolenanwendung funktioniert dies ohne Probleme.