When using a dropdown event, flash back

I’m trying to dropdown the change event and it’s crashing in the middle of the interaction

metal_dropdownlist.SelectedValueChanged += Changed_0

import Eto.Forms as ef
import Eto.Drawing as ed
import rhinoscriptsyntax as rs
metal_2_dropdownlist_DataStore = ['A','B']
handover_0 = ['I','O']
handover_1 = ['K','L']

form = ef.Form()
metal_dropdownlist = ef.DropDown()
metal_dropdownlist.DataStore = [1,2,3,4]
metal_dropdownlist.SelectedIndex = 0
metal_dropdownlist.ShowBorder = False

metal_2_dropdownlist = ef.DropDown()
metal_2_dropdownlist.DataStore = metal_2_dropdownlist_DataStore
metal_2_dropdownlist.SelectedIndex = 0

def Changed_0():
    if metal_dropdownlist.SelectedIndex == 0:
        metal_2_dropdownlist.DataStore = metal_2_dropdownlist_DataStore
    elif metal_dropdownlist.SelectedIndex == 1:
        metal_2_dropdownlist.DataStore = handover_0 
    elif metal_dropdownlist.SelectedIndex == 2:
        metal_2_dropdownlist.DataStore = handover_1
    else:
        metal_2_dropdownlist.DataStore = ['ok_handover']

metal_dropdownlist.SelectedValueChanged += Changed_0

layout_0 = ef.DynamicLayout()
layout_0.Width = 100
layout_0.Spacing = ed.Size(1,1)
layout_0.AddRow(metal_dropdownlist,metal_2_dropdownlist)
form.Content = layout_0

form.Show()

Hey @tom33,

You’re missing some arguments in your Changed_0 method. Events take two, a sender, and event args.

Changing its definition to this should do the trick:

def Changed_0(sender, e):

Hope this helps!

1 Like

Thank you, Sir.