Maybe try to replace
result.EXAM_YR == comboBox1.SelectedItem
with
result.EXAM_YR == comboBox1.SelectedText
[EDIT]: ThePhantomUpvoter's remark is right ; if you get "Enter details" message it means that either textBox1.Text is empty or comboBox1.SelectedText is empty. I would go for comboBox1.SelectedText. You could try to replace it by comboBox1.SelectedValue.
Moreover, a linq variable has to be enumerated to be used.
You could also create some variables and check their values while debugging. For example:
private void button1_Click(object sender, EventArgs e)
{
string tbText = textBox1.Text;
string cbValue = (string)comboBox1.SelectedValue;
if (!string.IsNullOrEmpty(tbText) && !string.IsNullOrEmpty(cbtext)) {
var res = from result in ds.Results
where result.REGISTRATION_NUMBER == cbText && result.EXAM_YR == cbValue
select result;
List<Result> results = res.ToList();
if (results != null) {
resultBindingSource1.DataSource = results;
}
else {
MessageBox.Show("no data found");
}
}
else {
MessageBox.Show("Enter details");
}
}