A foreach loop can only operate on one dimension of a single ienumerable type. To merge the lists you have you need to find a common denominator Type. In your case, the common denominator type of the first two in dropdownlist but if you include the textbox then the common denominator type is Control.
List<control> controls = new List<control>();
controls.AddRange(pnlTextBoxes.Controls.OfType<dropdownlist>())
PS: you are aware that the first and second lists you have there are identical?
Another option is to select into the list using Linq:
Type[] dynamicControlTypes = {typeof(DropDownList), typeof(TextBox), );
foreach(Control c in pnlTextBoxes.Controls.Where(c=>dynamicControlTypes.contains(c.GetType))){
}