Are you sure you want to use the || and not && in your condition? In your condition's logic you would set the btn_Lock_Config.Enabled property to true if your object wasn't null but was empty. The empty string would then cause an error if you tried to reference a specific index, as it does in your code on this line tb_Shift.Text[0];.
Try this...
if(tb_Shift != null && tb_Shift.Text.Length != 0)
btn_Lock_Config.Enabled = true;
You may also want to change the line where you get your error to also check for a non-empty string. Like so...
if (tb_Shift != null && tb_Shift.Text.Length > 0)
shift_char = tb_Shift.Text[0];