title: wxpython:EVT_GRID_CELL_CHANGED issue
body: <p>I have created a grid using wx.grid, binding with <code>EVT_GRID_CELL_CHANGED</code> to validate the user's input in a cell. </p>
  
  <pre><code>self.grid.Bind(wx.grid.EVT_GRID_CELL_CHANGED, self.OnCellChanged)
  </code></pre>
  
  <p>I try to create a <code>wx.MessageBox</code>  to pop if the input is not <code>int</code>. Then I 
  found out the messagebox will pop up twice, which is not what I want.</p>
  
  <p>The handler's code is shown below:</p>
  
  <pre><code>def OnCellChanged(self, event):
      row = event.GetRow()
      col = event.GetCol()
      try:
          cell_input = int(self.grid.GetCellValue(row, col))
      except:
          self.grid.SetCellValue(row, col, '')
          msgbox = wx.MessageBox('Invalid Input! Please Try Again', 'Error', wx.OK | wx.ICON_HAND | wx.CENTRE)
  </code></pre>
  
  <p>Thanks for helping.</p>