ConfigurationManager.AppSettings.AllKeys
.Where( key => key.StartsWith( "Screen" ) )
.Select( key => ConfigurationManager.AppSettings[key] )
If you have a lot of settings (say, 10K, like you specified in the comments), you may benefit from the fact that the AppSettings collection is optimized for lookup by key. For this, you'll have to repeatedly try "Screen1", "Screen2", "Screen3", etc., and stop when no value is found:
Enumerable.Range( 1, int.MaxValue )
.Select( i => ConfigurationManager.AppSettings[ "Screen" + i ] )
.TakeWhile( value => value != null )
This approach, however, is exactly the kind of "premature optimization" that Mr. Knuth warned us about. The config file simply shouldn't contain that many settings, period.
Another disadvantage: keep in mind that this approach assumes that there are no gaps in the numbering of "Screen*" settings. That is, if you have "Screen1", "Screen2", and "Screen4", it will not pickup the last one. If you're planning on having a lot of these settings, it will become very inconvenient to "shift" all the numbers every time you add or remove a setting.