require 'tk' label = TkLabel.new(nil, 'text'=>'test bind', 'relief'=>'ridge', 'padx'=>10, 'pady'=>10).pack('padx'=>40, 'pady'=>40) label.bind('Enter', proc{ label.configure('bg'=>'orange') }) label.bind('Leave', proc{ label.configure('bg'=>'skyblue')}) label.bind('1', proc{ label.configure('bg'=>'yellow')}) label.bind('ButtonRelease-1', proc{ label.configure('bg'=>'green')}) label.bind('3', proc{ label.configure('bg'=>'brown')}) label.bind('ButtonRelease-3', proc{ label.configure('bg'=>'pink')}) label.bind('Double-ButtonPress-1', proc{ label.cget('text') == 'test bind'?label.configure('text'=>'bind test'):label.configure('text'=>'test bind')}) Tk.mainloop